Thursday, April 26, 2007 11:19 PM

Há algum tempo atrás falei sobre documentação de código. Acredito que devemos perseguir o objetivo de ter um código e um design tão bom e claro que qualquer documentação é desnecessária.

O Scott Bellaware fala um pouco sobre isto em seu post Soluble Code. Um ponto importante que ele lembra é que código "esperto" deve ser evitado em pró da legibilidade.

Gastar tempo descobrindo aquela maneira de transformar dez linhas de código em uma, praticamente inteligível, não é uma boa prática, pois deteriora a manutenibilidade do código.

Isto significa que devo abrir mão de performance em troca de legibilidade? Em muitos casos sim. Não que a performance deixe de ser uma preocupação. Muitas vezes em coisas mais simples é possível ganhar performance: chamando um comando somente quando necessário, analisando queries em banco, liberando recursos de memória o mais rápido possível.

A cada revisão do código pense em performance e em legibilidade, seu código ficar mais limpo, mais legível e menos defeituoso.

Comments

At 4/27/2007 3:17 PM, berzachi said:

#  re: Código legível acima de tudo


Excelente artigo.

Eu concordo que as vezes tem que abrir mao de performance em troca de legibilidade. O Código tem que ser legível e otimizado pra humanos e nao máquinas!
abracos.

At 4/28/2007 4:26 PM, Eduardo Miranda said:

#  re: Código legível acima de tudo


Pois é, o pior é que muitas vezes esta troca entre performance e legibilidade também acaba sendo uma falácia.

Para você desenvolver em um estilo de código "otimizado" é preciso conhecer muito bem o compilador. Além disso, mesmo código pode não funcionar tão bem em uma nova versão do mesmo compilador.

Em resumo, é muito trabalho para pouco resultado. A não ser que vc esteja buscando aquela última gota de performance para satisfazer uma necessidade de negócios

Post Comment
Title *
Name *
Email (never displayed)
Website
Comment * (Allowed tags: blockquote, a, strong, em, p, u, strike, super, sub, code)  
Please add 8 and 4 and type the answer here: