“Refatoração é uma técnica elaborada para reestruturar um código fonte existente, alterando sua estrutura interna sem mudar o seu comportamento final, anda junto com a manutenção de software.

A idéia principal de refatorar está em uma série de pequenas melhorias que mantém a estrutura inicial da regra de negócio realizando a manutenção do código. Cada refatoração faz pouca coisa, mas uma seqüência de pequenas refatorações pode fazer uma diferença significativa. Uma vez que cada refatoração tem um escopo pequeno e é localizada existe um baixo risco associado. O sistema se mantém funcionando normalmente após cada refatoração, reduzindo as chances de o sistema sofrer um grande erro durante sua reestruturação.

Refatorações Comuns:

  • Padronizar nomes de variável.
  • Encapsular código repetido num método.
  • Remover parâmetro não utilizado em um método.
  • Generalizar um método (Exemplo: raizQuadrada(float x) => raiz(float x, int índice))
  • Enxugar comentários extensos.
  • Evitar CTRL + C e CTRL + V de métodos e códigos.

O objetivo de refatorar um código seguidamente é manter o custo de manutenção baixo constantemente ao longo de bastante tempo. Refatorações buscam obter simplicidade, clareza e na maioria das vezes um melhor desempenho do código. Sem refatorações o código vai ficando mais desorganizado e quanto maior for a desorganização, mais difícil é de encontrar uma solução, ou seja, desorganização é como uma bola de neve, até atingir o limite em que o código fica praticamente ilegível. O custo da manutenção fica tão alto que a única solução é reescrever novamente toda a parte do código, desde o zero, isso é a última coisa que pretendemos em um desenvolvimento de software, mais que algumas vezes é necessário.

A refatoração se torna mais freqüente na medida em que o programador vai ficando mais experiente e mais ambientado as rotinas, estas que devem estar sempre bem claras e definidas. Refatorações não devem ser usadas de qualquer modo e a todo o momento, mas quando fica perceptível que determinado pedaço do código está complicado de se ter um entendimento fácil. Bom programador surge só com trabalho, experiência e conhecimento das regras de desenvolvimento. Qualquer programador pode escrever código que seja facilmente entendido pelo computador. Já os bons programadores escrevem código em que os outros possam entender o significado sem a utilização de um “manual”.

Quando refatorar o código e encontrar quatro ou mais repetições já é um sinal de que pode ser necessário refatorar. Outro sinal é quando você tem necessidade de comentar partes do código para explicar o que está ocorrendo. Algumas ferramentas como o Netbeans, Eclipse e o Visual Studio já possuem atalhos para as refatorações mais comuns como Renomear, Extrair superclasse, Introduzir objeto parâmetro. A idéia da refatorações traz grandes melhorias na qualidade do código de um programador e na qualidade do software onde muitas vezes contribui muito para um melhor desempenho do software.

Por Douglas Garcia de Souza
Artigo do Seminário de Engenharia de Software 2011-2
Revisão Thiarlei Macedo | Fonte Micreiros.com