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-code como 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ão de 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.

Sources