Domando código legado: Um resumo de "Working Effectively with Legacy Code" de Michael Feathers

2025-09-09
Domando código legado: Um resumo de

Este artigo resume as ideias centrais do livro clássico de Michael Feathers, "Working Effectively with Legacy Code". O livro argumenta que o cerne do código legado é a falta de testes. Para modificar o código legado com segurança, testes devem ser adicionados primeiro. Isso é desafiador porque adicionar testes requer modificar o código, criando um paradoxo. O livro descreve etapas para identificar pontos de mudança (Seams), quebrar dependências, escrever testes e refatorar, juntamente com técnicas de teste incremental (Sprout e Wrap) e uma técnica para entender rapidamente o código (Scratch Refactoring). O autor enfatiza a importância dos testes unitários e apresenta testes de caracterização para capturar o comportamento do código existente. Finalmente, o artigo aconselha a evitar dependência direta de implementações de biblioteca para reduzir os custos de manutenção.