Refactoring e Legado — Como Operar Código Existente com Agentes
Definition
Refactoring e legado reúne 3 rule-sets para mexer em código que já existe sem quebrar comportamento: Refactoring (Fowler, 242 regras full, mini 31), Refactoring.Guru (catálogo prático de smells e técnicas, 478 regras full, mini 46) e Working Effectively with Legacy Code (Feathers, 193 regras full, mini 32). No agent-rules-books cada um vira mini focado em passos pequenos, testes e separação entre refatorar e adicionar feature.
Key Points
- Refactoring (Fowler): passos pequenos, preservando comportamento observável; detectar smell, escolher tratamento seguro, manter refatoração separada de mudança de feature; parar antes da limpeza virar redesign descontrolado.
- Refactoring.Guru: processo de diagnóstico → catálogo de smells → catálogo de técnicas; útil quando o agente precisa “dar nome ao cheiro” e escolher terapia sem over-cleanup.
- Working Effectively with Legacy Code: como ganhar controle de código mal testado — characterization tests, seams, quebra de dependência, sprout/wrap method, redução incremental de risco; primeiro objetivo: tornar o código testável.
- Regra de ouro para o founder: “não misture refatoração com feature no mesmo PR” — peça ao agente dois PRs separados e testes que provem que nada mudou antes de mudar.
Como usar no ciclo
- App vibe-coded com débito: carregue
refactoring+legacy-codecomo skill on-demand quando o agente reclamar de “código difícil de testar”. - Orquestração: combine com ciclo-issue-branch-pr-merge — issue de refatoração tem
Dado/Quando/Entãode preservação de comportamento; PR passa por branch-isolation-for-agents e checks que bloqueiam merge se teste de caracterização falha. - Triagem: em triagem-e-priorizacao-de-backlog, priorize legado que bloqueia a próxima feature, não “limpeza geral”.
Implications
Este cluster transforma o medo de “o agente quebrou o que funcionava” em protocolo: teste de caracterização primeiro, seam depois, mudança por último. Para founders, é a diferença entre deixar o agente reescrever tudo e orquestrar uma série de PRs pequenos e verificáveis.
Related Concepts
- ciclo-issue-branch-pr-merge — loop onde refatoração e feature se separam
- branch-isolation-for-agents — isolamento que torna refactors seguros
- regras-de-agentes-a-partir-de-livros — hub dos 4 clusters
- triagem-e-priorizacao-de-backlog — onde decidir o que refatorar primeiro