24. Refatoração
Mudar a estrutura sem mudar o comportamento, em passos pequenos, com testes a cada passo.
Resumo
- Regra cardinal: a evolução do software deve melhorar a qualidade interna, não degradá-la.
- Refatorar (Fowler): mudar a estrutura interna sem mudar o comportamento observável.
- Sinais: código duplicado, rotina longa, classe pouco coesa, muitos parâmetros, mudanças em paralelo, nomes ruins.
- Seguro: salve o original, passos pequenos, um por vez, teste a cada passo, revise as mudanças.
- Refatorar não é desculpa para codificar e consertar; às vezes reescrever é melhor. Foque módulos propensos a erro.
Perguntas-chave
responda de cabeça, depois abraO que é refatoração?
Mudança na estrutura interna do software que o torna mais fácil de entender e modificar sem alterar o comportamento observável.
Quando refatorar?
Ao adicionar rotina ou classe, ao corrigir defeito, em módulos propensos a erro ou muito complexos, e ao tocar código durante a manutenção.
O que é uma mudança em paralelo (shotgun surgery)?
Quando uma mudança exige alterar várias classes ao mesmo tempo; indica que uma responsabilidade está espalhada.
Exercícios de fixação
0/5 respondidas1.
Durante uma "refatoração", o programador também mudou a regra de cálculo do frete. Pela definição do livro:
2.
Adicionar um campo novo exige mudar 6 classes diferentes. Qual sinal de refatoração é esse?
3.
Qual prática torna a refatoração mais segura?
4.
Uma classe herda de outra, mas usa só 2 dos 30 métodos da classe-mãe. O livro aponta isso como:
5.
Um módulo é tão ruim que cada mudança gera novos defeitos. O que o livro admite?