Padrões de Codificação

Padrões de codificação são um grupo de recomendações para linguagens de programação, indicando estilos de programação, praticas e métodos para cada item de um programa escrito em uma linguagem específica.
O padrões definem organização de arquivos, indentação, comentários, declarações, estados, espaços, nomeclatura, praticas de programação, princípios de programação e algumas regras de ouro.
É extremamente recomendado que programadores sigam estas regras para ajudar a melhorar a leiturabilidade e entendimento do código criado também facilitando as futuras manutenções deste código.

Qualidade

A utilização das revisões de código necessariamente envolvem leitura de código, se a pessoa desenvolveu um código utilizando os padrões de codificação, este código será de fácil entendimento por parte do revisor e, consequentemente, de fácil identificação de defeitos entregando assim um produto de maior qualidade so cliente.
Quando a própria pessoa que desenvolveu o código necessitar fazer qualquer manutenção ela terá muita facilidade em lembrar o porque foi escrito um determinado trecho de código em determinado local da aplicação, gerando assim uma maior qualidade também na correção de bugs, adição de funcionalidades e suporte ao sistema.

Refatoração

Refatoração do código acontece quando qualquer parte do código é alterada na intenção de melhorar a legibilidade ou sua estrutura.
Muitas vezes um software é refatorado (reformulado) para entrar em conformidade com os padrões de codificação após sua entrega.
Métodos ágeis tem a refatoração como parte integrante de seus processos de desenvolvimento.

Padrões recomendados para PHP

A seguir seguem algumas recomendações de padrões para escrever um código php organizado, bem estruturado e documentado.

  • Identação:
    • 4 espaços ou tab no tamanho de 4 espaços
  • Tamanho de linha:
    • máximo de 100 caracteres
  • Nomeclaturas:
    • lowerCamelCase
      • deve ser utilizado para variáveis, propriedades, funções e metodos
    • UpperCamelCase
      • deve ser utilizado para nomeclatura de classes
    • UPPERCASE e _
      • deve ser utilizado em constantes

Estilo de Código PHP

  • Demarcações do código
    • utilizar sempre <?php ?>
    • não utilizar short tags <? ?> pois podem gerar problemas no caso de alguma migração.
    • arquivos que contém apenas código php, as tags de fechamento devem ser omitidas para evitar erros de retorno inesperado antes de qualquer header.
  • Strings
    • String literal
      • uma string literal ocorre quando não se tem substituição de variável nem há aspas no texto da string
      • deve-se utilizar aspas simples para demarcar o texto
        $var = ‘Exemplo de texto’;
    • String contendo aspas
      • deve-se utilizar aspas duplas para demarcar o texto e aspas símples internamente.
        $sql= “SELECT * FROM tabela”
            .  “WHERE campo = ‘valor’”;
        
    • String com subtituição de variável
      • deve-se utilizar qualquer uma das seguintes formas:
        $var = “Exemplo de consulta sql: $sql ”;
        $var = “Exemplo de consulta sql: {$sql} ”;
        
    • Concatenação de Strings
      • Strings devem sempre ser concatenadas utilizando o operados “.”
      • Um espaço deve sempre anteceder e preceder o operador
        $var = ‘Exemplo’ . ‘ de ‘ . ‘concatenação’ . ‘ de ‘ . ‘string’;
        
      • Também é incentivado a utilizar a seginte estrutura para concatenação de strings utilizando o operador “.”
        $var = ‘Exemplo’
             . ‘ de ‘
             . ‘concatenação’
             . ‘ de ‘
             . ‘string’;
        
  • Arrays
    • utilizar sempre um espaço após cada vírgula
    • é permitida a quebra de linha na declaração do array
    • caso seja utilizada a quebra de linha no primeiro item deve-se utilizar um recuo padrão
      $array = array(
          1, 2, 3, 5,
          $var, $sql, $valor,
      );
      
    • recomenda-se colocar também a vírgula no último elemento, na intenção de evitar esquecimento da mesma ao se inserir, posteriormente, outras linhas a declaração do array.
  • Classes
    • Utilizar UpperCamelCase
    • utilizar as chaves “{“ e “}” abaixo a declaração da classe
    • variaveis de classe
      • utilizar lowerCamelCase
      • no topo, antes de qualquer declaração de método
      • não utilizar var (php4)
      • declarar sua visibilidade (private, protected, public)
    • funcoes ou metodos
      • utilizar lowerCamelCase
      • utilizar as chaves “{“ e “}” abaixo do nome da funcao ou metodo
      • qualquer código dentro da funcao deve ser identado com 4 espaços
      • declarar sua visibilidade (private, protected, public)
  • Estruturas de controle (if, else, elseif, switch-case) laços (for,while, foreach)
    • usar espaço símples antes e depois de quaquer “(“ e “)” presente na expressão
    • A chave “{” virá na mesma linha da expressão, a chave “}” virá na linha abaixo da última linha de conteúdo.
    • qualquer código dentro das chaves “{“ e “}” deve ser identado com 4 espaços