Refatorar é preciso!

[Novo endereço: leandrosilva.com.br.]

Definitivamente, refatorar é preciso!

Ninguém consegue escrever o melhor código do mundo na primeira vez que o escreve. Aliás, arrisco dizer que isto não é verdade apenas com software, mas com uma infinidade de coisas que fazemos ao longo da vida.

Desde que me entendo por gente garoto, sempre tive o hábito de refatorar. Nos meus trabalhos escolares, composições musicais, estudos bíblicos. Dia desses mesmo tive que escrever uma carta para ser lida publicamente [a detendos e familiares] em um presídio de São Paulo. Que responsabilidade! Escrevi e refatorei várias vezes numa mesma madrugada até a tal carta ficar muito boa.

No meu trabalho não é diferente. Escrevo e re-escrevo códigos sempre. Não por terem sido mal escritos por mim ou por algum colega, mas porque acredito que eles sempre podem ser aprimorados.

Refatoração como disciplina da Engenharia de software:

Martin Fowler, em seu site oficial sobre refatoração, diz que refatorar é alterar a estrutura interna de um código sem alterar o seu comportamento externo. É fazer pequenas modificações de cada vez, que somadas, resultem em modificações significativas, sem contudo, afetar o funcionamento do código.

De forma bem prática, no meu dia a dia, costumo enumerar as tarefas da refatoração em: Revisar, remolelar e refinar. Três ‘R‘s indispensáveis na vida de todo bom programador, porque:

1. Todo código precisa ser revisado;
2. Todo código é forte candidato a ser remodelado, pelo menos uma vez;
3. Todo código deve ser refinado sempre.

Quando aplicada corretamente, a refatoração trás excelentes ganhos, tais como:

1. Códigos mais legíveis;
2. Códigos mais performáticos;
3. Códigos mais extensíveis;
4. E sobretudo, código mais simples!

Este e o sentimento da refatoração. Ganhos hoje; e mais ainda, amanhã.

Agora, sabe qual é a triste realidade? Poucos gestores de projetos entendem e encorajam esta prática. Uma pena, porque o projetos só tem a ganhar. Quantas vezes você já não entrou em um projeto e perdeu horas e horas pra entender o código macarrão que alguém que nem está mais na empresa fez? Quantas vezes mais isso ainda não vai acontecer neste mesmo projeto? Ah, se estas horas tivessem sido empregas em refatoração…

Mas, sabe de uma outra coisa? A culpa não é só dos gestores de projetos. Desenvolvedores de software também precisam aprender a vender suas idéias, soluções, e mostrar resultados reais da aplicação de determinadas técnicas. Afinal de contas, cientistas renomados como Martin Fowler costumam ter razão naquilo que dizem.

Bom, ainda bem que aqui na equipe de arquitetura da CVC Turismo não é assim. Aqui refatorar é visto com muito bons olhos. Bons olhos sobre quem faz a refatoração, dado o seu pró-ativismo; e bons olhos sobre o próprio patrimônio de software da empresa que é valorizado a cada dia.

Se seu gestor não quer nem ouvir falar em refatoração, eu tenho uma sugestão pra você: Faça algumas refatorações por conta própria, sem que estas afetem o andamento do seu projeto, é claro, e depois apresente a ele um relatório de ganhos, conforme citados anteriormente.

Não se esqueça: Frutos falam mais que palavras.

Depois poste aqui o resultado…

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s