sábado, 18 de abril de 2009

O impacto na implementação

A implementação é a transformação efetiva dos requisitos em código. Assim, esta fase decidirá a sua vida no futuro. Se precisará de dias (noites, fins de semana) para implementar/modificar um requisito. Se a sua vida será um inferno e o desenvolvimento um castigo, ou se você terá uma vida normal e o desenvolvimento será um prazer. Investir algumas horas procurando a melhor solução, pode fazer toda diferença na sua qualidade de vida. Este artigo desenvolve muito bem este assunto.

Acredito que mesmo os profissionais gurus da qualidade de código, identifiquem, vez ou outra, em suas soluções, algoritmos que podem ser melhorados. Dessa forma, a refatoração deve ser companheira de todo desenvolvedor que busque a excelência de suas soluções. O livro Refactoring: Improving the Design of Existing Code será referenciado constantemente nesse blog.

Quanto mais você se preocupa com a qualidade, mais natural ela se torna. Se produzimos um código e concluimos que é de baixa qualidade, devemos tentar a refatoração. O mesmo se dá quando estamos trabalhando com código legado. Este feeling é chamado de "detecção de mau cheiro" por Fowler. Da próxima vez que nos depararmos com a necessidade de um(a) algoritmo/arquitetura parecido(a), lembraremos da melhor prática que foi aplicada anteriormente e o código já terá uma certa qualidade de primeira. Depois de certo tempo, nem acreditaremos que desenvolvíamos aquele algoritmo daquela forma.

A solução refatorada pode ainda não ser uma excelência em qualidade, mas um passo já foi dado. Da próxima vez, refinaremos um pouco mais. Dessa forma, nossas soluções tendem a qualidade total. É uma busca infinita pela excelência. Este é um dos pontos que torna a nossa profissão tão interessante, na minha opnião.

Não ficarei apenas discutindo os princípios da qualidade, o porque ou outras teorias. Será criada uma série Qualidade na Prática, onde vou mostrar exemplos, no estilo passo a passo, de refatorações que fiz em códigos meus e de outros desenvolvedores.

Existe um
tópico no GUJ, do Daniel Destro, bem interessante, pois mostra o que não se deve fazer em uma solução Java. Este tópico é mais antigo que o meu registro, é constantemente atualizado e é um dos campeões de visitas do fórum.

Sei que o dito "mundo perfeito" é uma utopia. Mas busca-lo deve ser uma atividade diária.

Nenhum comentário:

Postar um comentário