Planejar refatoração de legado sem alterar comportamento observável
Use este guia como lente principal para esta situação.

Refatoração disciplinada, code smells, testes e catálogo de transformações para melhorar design preservando comportamento.
Não apenas “anexe e peça para programar”. Dê papel, contexto e critérios.
Use este guia como lente principal para esta situação.
Use este guia como lente principal para esta situação.
Use este guia como lente principal para esta situação.
Use este guia como lente principal para esta situação.
Use o guia “Refatoração — Aperfeiçoando o Design de Códigos Existentes” anexado como referência para analisar este projeto. Antes de alterar código: 1. Faça um diagnóstico do problema no contexto do projeto. 2. Identifique quais princípios do guia realmente se aplicam. 3. Compare a solução atual com uma alternativa mais simples. 4. Proponha uma mudança incremental e reversível. 5. Defina testes e critérios de aceite. 6. Ao final, revise a implementação contra o guia e liste trade-offs. Contexto: [DESCREVA o sistema, stack, estado atual e cenário da mudança] Objetivo: [DESCREVA o resultado observável que deve existir ao final] Restrições: [DESCREVA o que não pode mudar, compatibilidade e limites técnicos]
Use o modelo acima com dados concretos do projeto. O exemplo abaixo mostra o nível de detalhe esperado.
Contexto: Sistema legado de atendimento em produção; o mesmo cálculo aparece em três funções e alterações recentes geraram regressões. Objetivo: Refatorar a duplicação sem alterar o comportamento externo e preparar o código para uma nova regra de cálculo. Restrições: Primeiro criar testes de caracterização; não misturar nova funcionalidade com refatoração; permitir rollback por etapas.
Peça análise do código e do problema antes de aplicar qualquer padrão ou princípio.
Exija justificativa: por que esta técnica é adequada e quais alternativas foram descartadas.
Finalize com testes, checklist, riscos e critérios de aceite.