Vous êtes sur la page 1sur 35

|  



   ||
      
þ 


‡ Escrever um código organizado, bem


estruturado e documentado.

‡ Melhorar a visibilidade na codificação,


facilitando assim futuras manutenções e
implementações.

‡ Assegurar alta qualidade do código e diminuir


erros.

‡ Prover um guia de codificação padrão para


toda equipe.
^  

4 Kormato do arquivo PHP


4 Nomenclaturas
4 Estilo de codificação
K    ||

u £ 
^AB com tamanho de 4 espaços.

u Ô  
   
è^K .

u ^   


 caracteres, mas é aceitável até 12
caracteres.

u ^   
·inhas devem terminar apenas com ·ineKeeds
(·K ± [\n]
_
   

u Ô  èpperCamelCase
Ex: MySql, FileUpload, ReadRss

u w   lowerCamelCase
Ex: ÕobjBanco, Õ ileImage, ÕeadFeed

u |      lowerCamelCase
Ex: Õis->ableName, Õis-> ieldId
_
   

u K  lowerCamelCase
Ex: seId(), geName(), geFile()

u =    lowerCamelCase
Ex: Õis->geable(), Õis->geFields()

u Ô  èPPERCASE e _
Ex: ÄB_HOS, ÄB_USER, BASE_URL
_
   

u ð   Ô  èpperCamelCase


Ex: MySql.class.pp, FileUpload.class.pp

þ   Sempre o mesmo nome para classe


e arquivo.
_
   

ë
 

‡ Somente usar abreviações quando for


realmente necessário ou se tratar de costume;
palavras completas facilitam o entendimento e
conseqüentemente melhoram a legibilidade.

‡ Para decisão do uso de palavra estrangeira ou


nacional deve ser levado em consideração, mais
uma vez, a questão da facilidade de
entendimento; a palavra que passar mais
facilmente a idéia desejada deve ser utilizada.
O 
  

u Ä
 
  ||
Não usar short tags. Ex: X e X 
èsar tags completas. Ex: X pp e X pp eco

u þ   
èsar espaços entre os operadores. Ex: , , +, -, %, &&, ||
e demais.

u Ô 
èsar ùù para uma linha de comentário e /* */ para mais
de uma linha.
O 
  

u £ 
  ^=

Não se utilizar de echo para inserir código H^M·.


Ex:
X pp eco ³Ximg scimage.jpg¶ alimage¶ idimg¶ />´ >

nserir código H^M· entre tags PHP.


Ex:
?>< 
† image.jpg´ † image´  † img´ /><?php
O 
  

u R    Se a string não contiver variáveis de


substituição, deve se usar aspas simples.

Ex: ÕmpS  Exemplo de Sing¶;

u R   


 ð   ± É recomendado
o uso de aspas duplas para evitar slashes [\].

Ex: ÕmpS  ³SELEC * FROM alunos WHERE nome  oão¶´;


O 
  

u R 
      èsar
aspas duplas.

Ex: ÕmpS  ³Exemplo de Sing com {Õaiael} ´;

u Ô
 R 

Ex: ÕmpS  ³Exemplo {Õde} Sing com {Õaiael} ´;

Não recomendado:

ÕmpS  Exemplo¶ . Õde . ´ Sing com Õaiael ´;


O 
  

u Ô
 R  
  ßuando a
string for longa, procurar concatenar com o operador de
.´, alinhando o operador .´ abaixo do operador †´.

Ex:

ÕmpSql  ¶SELEC id, nome 


. ¶FROM alunos 
. ´WHERE nome  oão Peeia¶ ´;
O 
  

u  ù ù

 parêntese (´ deve vir logo após a instrução if e


elseif.

èsar espaço simples depois do (´ e antes do ´ da


condição no if e no elseif.

 uso de das chaves ´ e ´ é obrigatório.


O 
  

u  ù ù 


A chave ´ virá abaixo da expressão, e a chave ´ virá


na linha abaixo da última linha de conteúdo.

Expressões if, elseif e else devem estar em linhas


separadas.
O 
  

u  ù ù 


I ( Õinalo   )
{
Õinalo++;
}
elsei ( ( Õinalo   ) || ( Õinalo   ) )
{
Õinalo--;
}
else
{
Õinalo  Õinalo  ;
}
O 
  

u §ù  ù  


 parêntese (´ deve vir logo após uma instrução while,


for ou foreach.

èsar espaço simples depois do (´ e antes do ´ da


expressão.

 uso de das chaves ´ e ´ é obrigatório.


O 
  

u §ù  ù  
 


A chave ´ virá abaixo da linha da expressão, e a chave


´ virá na linha abaixo da última linha de conteúdo.
O 
  

u §ù  ù  
 


§ile( ! eo ( ÕFile ) )
{
// insuções
}
...
o( ÕinCoun  ; ÕinCoun X ; ÕinCoun++ )
{
// insuções
}
...
oeac( ÕaLis as ÕmixKey > Õmixalue )
{
// insuções
}
O 
  

u §



 parêntese (´ deve vir logo após uma instrução


switch.

èsar espaço simples depois do (´ e antes do ´ da


expressão.

 uso de das chaves ´ e ´ é obrigatório.


O 
  

u §

 


A chave ´ virá abaixo da linha da expressão, e a chave


´ virá na linha abaixo da última linha de conteúdo.

ßualquer código dentro de: case e default, precisa ser


identado com quatro espaços, inclusive a palavra
reservada: break.
O 
  

u §

 

s§ic( ÕinNiel )
{
case 
// Qualque coneúdo
// pecisa se idenado com [ab|4 espaços].
beak;
case 
// Qualque coneúdo
// pecisa se idenado com [ab|4 espaços].
beak;
de aul
// Qualque coneúdo
// pecisa se idenado com [ab|4 espaços].
}
O 
  

u  ù



 parêntese (´ deve vir logo após uma instrução catch.

èsar espaço simples depois do (´ e antes do ´ da


expressão.

 uso de das chaves ´ e ´ é obrigatório.


O 
  

u  ù

 


A chave ´ virá abaixo da linha da expressão, e a chave


´ virá na linha abaixo da última linha de conteúdo.
O 
  

u  ù

 

y
{
Õlink  mysql_connec( ¶localos¶, ¶joaozino¶, ¶456¶ );
i ( !Õlink )
{
o§ ne§ Excepion();
}
else
{
Õsaus  ue;
}
}
cac( Excepion Õe )
{
Õsaus  alse;
Õe->message( 'Não oi possíel coneca-se ao banco de dados.¶ );
}
O 
  

u £
    


ètilizar função __autoload que é automaticamente


chamada no caso de você tentar usar uma classe/interface
que ainda não foi definida.

uncion __auoload( ÕclassName )


{
equie_once ³{ÕclassName}.class.pp´;
}

Õobj  ne§ MyClass();


Õobj  ne§ MyClass();
O 
  

u Ô

As chaves ´ e ´ virão na linha abaixo do nome da


classe.

^oda classe deve ter um bloco de documentação em


conformidade ao padrão do PHPDocumentor.

Só é permitida uma classe por arquivo PHP.


O 
  

u w   Ô  |    

Devem ser declaradas no topo da classe, antes de


qualquer declaração de método.

Não utilizar o identificador: var (php4.

Sempre declarar sua visibilidade: piae, poeced ou


public. Pe eencialmene não uiliza declaação de aiáeis de
classes como public paa não incenia o uso de (se/ge).
O 
  

u =  

As chaves ´ e ´ virão na linha abaixo do nome do


método.

^oda método deve ter um bloco de documentação em


conformidade ao padrão do PHPDocumentor.

Sempre declarar sua visibilidade: private, protected ou


public.
O 
  

u =   


Método construtor sempre deve ser identificado por


__construct(.

Propriedades e métodos de uma classe devem ser


referenciados internamente com uso do identificador $this.

Procurar tratar sempre os erros, lançando as exceções


necessárias.
O 
  
O  Ô
X pp
/**
* [Äescição do aquio].
*
* [mais in omações pecisa e  [ENER] paa de ini noo paága o]
*
* [pode usa quanas linas oem necessáias]
* [linas logo abaixo como esa, são consideadas mesmo paága o]
*
* €  
[Nome do pacoe de Classes, ou do sisema]
* € 
 [Caegoia a que o aquio peence]
* € 
[Apelido paa o aquio]
* €  [nome do auo] X[e-mail do auo]>
* €  [In omações de Äieios de Cópia]
* €

[link da licença] [Nome da licença]
* € [link de onde pode se enconado esse aquio]
* €
 [esão aual do aquio]
* €
[Aquio exise desde Äaa ou esao]
*/
O 
  
class ClasseExemplo
{
/**
* €
 piae
* €  sing
*/
piae Õpiada  null;
/**
* €
 poeced
* €  in
*/
poeced Õpoegida  ;
/**
* €  sing
*/
public Õpublica  null;
/**
* € 
* €  sing
*/
public saic ÕpublicaEsaica  null;
O 
  
/**
* Sea o um alo à popiedade Name.
* €
 public
* €   sing Õpalue Nome Compleo
* €
 oid
*/
public uncion seName( Õpalue )
{
// Qualque coneúdo
// pecisa se idenado com [ab|4 espaços].
}

/**
* Reona o alo da popiedade Name.
* €
 public
* €
 sing
*/
public uncion geName()
{
// Qualque coneúdo
// pecisa se idenado com [ab|4 espaços].
}
}
|
 


'  
        
             
        

(Antonie de Saint Exupéry


ë

  

!end Kramework: Coding Standards for PHP

PEAR Coding Standards

Coding Standards for CakePHP

Walker de Alencar :: Padrões e Metodologias

Wikipedia: CamelCase

Apostilas Kolk PHP

AP oomla! 1.5