Os métodos quais estejam longos demais ao ponto que seja necessário utilizar a rolagem da tela necessitam de maior concentração e provavelmente o programador tenha dificuldades em ver o todo. De 5 a 20 linhas é um bom tamanho para na maioria dos casos.
2. Nem cogite a possibilidade de utilizar a mesma variável para mais de um propósito;
uma variável deve ser utilizar para apenas um propósito. Ao transformar seu comportamento com o modificador "final", podemos ajudar o compilador a otimizar o código, bem como deixar claro que o seu valor não vai mudar. É uma boa prática que deixa o código mais legível.
3. Procure nomear métodos e variáveis de forma clara e objetiva (anti-burro);
Qualquer um deve ser capaz de entender o código enquanto estiver olhando para ele. Evite ao máximo usar abreviações.
4. Declare a variável o mais próximo possível de onde serão utilizadas;
Normalmente ao fazer algum trabalho manual, posicionamos as ferramentas o mais próximo possível de nós! O mesmo deve acontecer com uma variável, para que não se perca o contexto de sua utilização em mais longos (com aproximadamente 20 linhas).
5. Não utilize números mágicos;
prefira sempre criar constantes ao comparar um valor variável com outro constante. Nada pior do que se deparar com o seguinte código durante a resolução de um bug:
va < 100Acredito que seria mais fácil caso a linha acima fosse escrita da seguinte forma:
velocidadeAtual < VELOCIDADE_MAXIMA_PERMITIDA6. Respeite as características da linguagem que esteja utilizando;
Digamos que você seja um programador Java que esteja aprendendo Ruby. Procure entender como fazer algo na nova linguagem, ao invés de tentar "portar" seu código escrito em Java. Normalmente a mesma coisa é feita de forma diferente em cada linguagem, conforme o exemplo a abaixo
em java:
for (int i = 0; i < 5; i++) { System.out.println("Hello world!"); }
portado para o Ruby:
for i in (0..5) puts "Hello world!" endComo deveria ser em Ruby:
5.times { puts "Hello world!"}7. Não vá contra os padrões de codificação;
Muitas linguagens possuem padrões de codificação, sendo a mais conhecida, a do Java. Quebrar quaisquer regras deste padrão só pode ser feita caso exista, realmente, uma boa razão para tal. Não o faça por simplesmente não gostar de algo.
8. Não otimize código antes da hora;
Em primeiro lugar, escreva código bem legível e totalmente coberto por testes unitários. Não se preocupe caso não seja executado na velocidade desejada. Faça o "refactory" a medida for necessário. Se realmente for necessária qualquer otimização, em primeiro lugar ache o ponto correto, para tanto, use ferramentas "Profiler". Evite resolver problemas que não existem.
9. Sempre faça o "refactory" seu código após testá-lo;
Uma forma de melhorar a qualidade do código e pelo "refactoring", após a bateria de testes unitários. Utilize as melhores práticas de TDD (Desenvolvimento Orientado a Testes) durante o ciclo de desenvolvimento de uma funcionalidade. Assim que o código passe em todos os testes, melhore seu código e o deixe o mais legível possível, sempre executado toda a bateria de testes para assegurar que nada quebrou durante o processo.
10. não seja bloqueado pelo "overdesign";
Padrões de Desenho (Design Patterns) devem ser utilizados para simplificar o desenho da solução, não significa que podem ser utilizados em todos os lugares e em todas as situações. Entenda primeiro a necessidade, construa a solução utilizando as melhores práticas de TDD e aí sim, melhorar aplicando o padrão correto, quando possível.
11. aprenda algo novo com prototipação.
Programação envolve o aprendizado de coisas novas. Quando se aprende uma nova biblioteca ou linguagem, geralmente surge a vontade e jogar fora todo o código antigo e aí sim, escrever tudo novo do zero. Definitivamente não é uma bom a fazer.
Adicionar a nova biblioteca ou linguagem a uma aplicação já existente pode causar o mesmo problema. Normalmente não é bom trocar todas as funções escritas em Javascript pelo JQuery, enquanto você ainda está aprendendo como ele funciona.
A melhor forma é criar projetos de exemplo, onde serão resolvidos os mesmos problemas com as novas bibliotecas ou linguagens. Estude, crie um protótipo e quando tiver a real noção do que pode ou o que não pode ser feito com elas. Daí sim, as utilize nos seus projetos.
Recomendo fortemente a leitura dos livros Code Complete, e Clean Code, cujos autores Steve McConnell do Robert C. Martin respectivamente.
Até a próxima! =]