Segunda-feira, 8 de Junho de 2009
1 Star2 Stars3 Stars4 Stars5 Stars (3 votos, média: 5 de 5)
Loading ... Loading ...

Codificar é algo muito pessoal, assim como escrever um artigo. Uma rápida olhada e já podemos ter ideia de quem o escreveu.

O programador leva para o projeto suas preferencias pessoais na maneira de nomear funções, classes, variaveis, arquivos ou mesmo na forma de fazer um loop. Os mais experientes - ou organizados - criam padrões para manter uma concistencia, e isso é excelente. O problema começa quando temos muitos programadores trabalhando nos mesmo codigos e cada um fazendo na sua maneira. Muitos projetos e empresas acabam adotando o seu padrão, que deve ser seguido por todos os envolvidos.

Temos então, cada projeto com sua forma e programar, que pode ser completamente diferente de outro. Podemos levar algumas horas somente para compreender a forma que esta organizado. Isso é um problema que remonta desde o inicio da era da programação.

Uma das tentativas mais famosas de um padrão unificado, foi proposto por Brian Kernighan e Dennis Ritchie (criadores da linguagem C) e descrito no livro C, a Linguagem de Programação: padrão ANSI, e ainda hoje muito usado.

Os padrões mais usados

Existem vários padrões usados pela comunidade PHP.  Para aqueles que estão querendo adotar um, recomendo ler o padrão do PEAR, que engloba desde nomes de arquivos e funções ate a forma de fazer um loop, uma array multi-dimensional ou mesmo uma documentação.
Existe tambem o utilizado pelo framework Zend, que é uma evolução do usado no PEAR para a realidade do framework.
A vantagem de usar um desses é que eles já foram muito usados e “postos a prova”, até chegar num consenso.

Caso você esteja planejando usar um framework, opte por usar o padrão adotado por ele.

PHP Standards e o PHP 5.3

O PHP 5.3 traz novidades e que podem mudar muito a forma de como programamos hoje. O uso de namespace, lambda functions e outros podem bagunçar o codigo de qualquer um.

Não existe um padrão oficial para PHP. Por enquanto. Recentemente um grupo de desenvolvedores de varios frameworks, entre eles Symfony, Cake, Zend e se reuniram e criam um grupo para defenir esses padrões. Espera-se que todos os projetos existentes hoje como o PEAR, os frameworks, Wordpress, drupal e magento, alem dos novos, tenham uma mesma forma, principalmente agora com o advento do PHP 5.3.

A primeira versão esta disponivel e o grupo esta aberto a discussões para a melhoria. Nesta versão está definido a forma que será usada os namespaces, a maneira de criar uma execeção ou a pegar e a nomenclatura para classes e interfaces.

Verificando os padrões

Sempre é bom termos certeza que estamos seguindo os padrões. Assim como temos os analisadores W3C para HTML, temos uma ferramenta para o nosso codigo PHP. É o PHP_CodeSniffer. Essa ferramenta analisa o codigo e retorna todos os erros de sematica de seu codigo, para o padrão que você quiser. Vale lembrar que ele não verifica erros de codigo, apenas de formatação.

Um exemplo de uso seria:

$ phpcs /path/to/code/myfile.php
FILE: /path/to/code/myfile.php
--------------------------------------------------------------------------------
FOUND 5 ERROR(S) AND 1 WARNING(S) AFFECTING 5 LINE(S)
--------------------------------------------------------------------------------
2 | ERROR   | Missing file doc comment
20 | ERROR   | PHP keywords must be lowercase; expected "false" but found
|         | "FALSE"
47 | ERROR   | Line not indented correctly; expected 4 spaces but found 1
47 | WARNING | Equals sign not aligned with surrounding assignments
51 | ERROR   | Missing function doc comment
88 | ERROR   | Line not indented correctly; expected 9 spaces but found 6
--------------------------------------------------------------------------------

Logo mais postarei um tutorial para integrar essa ferramenta com o SVN e um sistema de integração, visando garantir a qualidade do projeto.

Faça do seu jeito

Muitas vezes pegamos codigos de outros programadores, que não seguiram o padrão ou mesmo não tem um padrão. Alterar todo o projeto manualmente pode se tornar algo muito dispendioso e chato. Para facilitar nossa vida, existe o PHP_Beautifier. Ele reformata todo o codigo para a forma defenida por voce.

A linha abaixo reformata no padrão PEAR e indenta 2 tabs.

php_beautifier -t2 -l "Pear()" index.php index_pear.php

E você, qual tipo de padrão segue?

Veja Tambem

    None Found


  3 Respostas para “Novo Padrão de Codigo para o PHP 5.3”


> Deixe uma Resposta