Um espaço aberto para dialogar, compartilhar conhecimentos e experiências.
10        Boas
          Práticas de
          Programação

Carlos Eduardo A. Schults
@carlosschults
carlos.schults@gmail.com
0. Indentação Correta
#função original
def f( x )
   # indentação com tab de 4 espaços
   Math.log( x ) - x + 2
End


#função modificada
def g( x )
   Math::E**( x - 2 )
end
1. Nomes consistentes
<?php
    $n = array( 10, 10, 10, 10 );
    $sn = 0;
    $q = count( $notas );

     for ( $contadorDoFor = 0; $contadorDoFor < $q; $contadorDoFor++ ) {
          $sn += $n[$contadorDoFor];
     }

     $m = $sn / $q;

     // ------------------------------------------------------------------------

     $notas = array( 10, 10, 10, 10 );
     $somaNotas = 0;
     $qtdElementos = count( $notas );

     for ( $i = 0; $i < $qtdElementos; $i++ ) {
          $somaNotas += $notas[$i];
     }

     $media = $somaNotas / $qtdElementos;
?>
2. Comentar é bom...
<?php
    // função para calcular o fatorial de um número
    function fatorial( $numero )
    {
         // fatorial de 0, por definição, é 1
         if ( 0 == $numero ) {
               return 1;
         }

         /**
         * fatorial de um número é o próprio número, multiplicado pelo fatorial
         * do número anterior
         */
         return $numero * fatorial( $numero - 1 );
     }
?>
3. ...mas não exagere :P
# se valor da variável idade for maior ou igual a 18
if idade >= 18
     # atribui 'Vai trabalhar vagabundo' à variável idade
     mensagem = 'Vai trabalhar vagabundo'
else # se idade for menor que 18
     # atribui 'Vai estudar vagabundo' à variável idade
     mensagem = 'Vai estudar vagabundo'
end

# imprime na tela a variável mensagem
puts mensagem
4. Siga um padrão de codificação
5. Não Se Repita (DRY)
6. Você não vai precisar disso (YAGNI)
           You Aren't Gonna Need It
7. Evite Muitos Níveis de Indentação
7. Evite Muitos Níveis de Indentação
8. Evite Linhas Muito Longas
8. Evite Linhas Muito Longas

Procure limitar em 80 (ou no máximo 100) caracteres
8. Evite Linhas Muito Longas

Procure limitar em 80 (ou no máximo 100) caracteres
9. Evite Funções Que Contam Em Testes
                de Laço
“ Sempre programe como se o cara que vai
acabar dando manutenção no seu código
fosse um psicopata violento que sabe onde
você mora.”
Martin Golding
http://blog.thiagobelem.net/php-as-10-melhores-praticas-pra-um-iniciante/

http://blog.thiagobelem.net/melhores-praticas-para-deixar-seu-codigo-legivel/

http://net.tutsplus.com/tutorials/php/why-youre-a-bad-php-
programmer/

http://net.tutsplus.com/tutorials/html-css-techniques/top-15-best-
practices-for-writing-super-readable-code/

http://net.tutsplus.com/tutorials/php/30-php-best-practices-for-beginners/

http://pt.wikipedia.org/wiki/Don't_repeat_yourself

http://pt.wikipedia.org/wiki/YAGNI

10 Boas Práticas de Programação