Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Boas Práticas com PHP

Boas Práticas com PHP

Boas práticas, código limpo, recomendações da comunidade e ferramentas bacanas. Tudo isso nessa palestra que abordará tópicos indispensáveis para que você seja capaz de produzir código de qualidade, manutenível e de forma eficiente utilizando recursos da linguagem e algumas ferramentas de apoio

Gustavo Fraga

April 22, 2019
Tweet

More Decks by Gustavo Fraga

Other Decks in Programming

Transcript

  1. Padrão Básico de Codificação • utilizar as tags <?php ?>

    e/ou <?= ?> • nomes de classe em StudlyCaps • nomes de métodos em camelCase • constantes em maiúsculo com separadores em sublinhado
  2. arquivos • terminar com uma linha em branco no final

    do arquivo • omitir a tag de fechamento em arquivos contendo somente PHP
  3. linhas • no máximo 80 caracteres por linha com limite

    de comprimento de 120 caracteres • uma declaração por linha • linhas sem espaços em branco ao final
  4. Benefícios (níveis de recuo) • código legível • extract method

    pattern • não agrega toda a lógica em um único método • princípio de responsabilidade única do SOLID
  5. Benefícios (tente não utilizar o “else”) • if-else não são

    divertidos de ler • evita o código hadouken • early returns (tornam o código direto e objetivo, poupando leitura/execução)
  6. Benefícios (um arrow por linha) • lei de demeter (fale

    apenas com seu amigos, não expõe informação) • legibilidade do código
  7. • escrever métodos com mais de +20 linhas (c/ espaços

    e comentários) • criar pacotes com +15 arquivos • escrever classes com +200 linhas (c/ espaços e comentários)
  8. Benefícios (tente não escrever / criar) • legibilidade e manutenibilidade

    do código • indício que as responsabilidades estão bem definidas (nem sempre…)
  9. Benefícios (poucas variáveis de instância) • alta coesão (faz aquilo

    que deve ser feito) e responsabilidade única • baixo acoplamento (sem dependências desnecessárias) • manutenibilidade do código
  10. Benefícios (no getter / setter) • encapsular a regra de

    negócio • atribui lógica com métodos significativos ao invés de métodos “burros”