quarta-feira, 4 de junho de 2008

Eu prometo!

Levante-se, erga a mão direita e repita:


"I promise I will not ship slow code. Speed is a feature I care about. Every day I will pay attention to the performance of my code. I will regularly and methodically measure its speed and size. I will learn, build, or buy the tools I need to do this. It's my responsibility."

Jan Gray
Microsoft CLR Performance Team


Até ao próximo post!

Fernando Oliveira
Agap2 Developer
MCTS - .NET Framework 2.0
Web Applications

1 comentário:

Luís de Sousa disse...

Ora bem :) algo sobre o qual merece umas quantas considerações.

"I promise I will not ship slow code"

Isto é de facto algo que se deve de olhar com atenção, contudo há que olhar para o final da frase, mais concretamente para aqui:

"I will regularly and methodically measure its speed and size"

e para aqui:

"I will learn, build, or buy the tools I need to do this"

Está aqui implicito o conceito de medir, é útil, explicar como medir e o que medir.

Em minha opinião, nem todo o código necessita da mesma atenção. Lembro-me de quando programava em C++ e ao ler um livro de um Autor chamado Coplien, que era lá referida a regra dos 80 - 20. Entre muitas aplicações desta regra o Autor neste livro, diz algo do género, que devemos de olhar para os 20% do código onde a aplicação passa 80% do tempo.

Para se conseguir "descobrir" onde estão estes 20% necessitamos de uma ferramenta para nos auxiliar.

Um bom candidato é um profiler, para analisar esta componente do tempo de execução do código.

Quanto ao tamanho temos várias ferramentas disponíveis que nos "dizem" o tamanho dos métodos e nos dão ouras métricas.

Contudo, e olhando aos métodos ágeis convém nunca esquecer a importância da simplicidade e da legibilidade do código. O código é para ser lido por humanos e é por humanos que vai ser mantido. E tipicamente passa-se mais tempo a manter código do que a desenvolver.

Para finalizar, e regrassando ao mundo real, as ferramentas são uteis, é um facto, mas há o factor custo associado às mesmas . . .