IA aplicada a sistemas existentes. Leitura assistida, mapeamento de dependencias, refatoracao em massa e arquitetura.
Usar IA para entender codebases grandes e sistemas complexos que levam semanas para um dev novo compreender. A IA navega pelo codigo, explica padroes, identifica fluxos de dados e mapeia relacoes entre componentes, funcionando como um "guia interativo" da codebase.
Onboarding em codebases grandes leva 3-6 meses. Com leitura assistida por IA, esse tempo cai para dias. Alem disso, devs seniors que ja conhecem o sistema usam leitura assistida para explorar partes do codigo que nunca tocaram, entendendo impactos antes de mudar.
Code navigation com IA, call graph exploration, "explain this function in context", dependency chain walking, architectural overview generation, pattern recognition em codebases.
Usar IA para mapear dependencias entre modulos, identificar hotspots (codigo que muda muito e causa muitos bugs), medir acoplamento entre componentes e quantificar divida tecnica. A IA combina analise estatica do codigo com historico do git para produzir um mapa completo.
Voce nao pode refatorar o que nao entende. Antes de mexer em codigo legado, precisa saber quais modulos sao acoplados, quais sao hotspots de bugs e onde a divida tecnica e mais cara. Sem esse mapa, refatoracao e um tiro no escuro que frequentemente piora a situacao.
Dependency graph generation, churn analysis (git log), complexity metrics (cyclomatic, cognitive), coupling score, hotspot detection, tech debt quantification, risk scoring.
Usar IA para aplicar refatoracoes consistentes em centenas de arquivos simultaneamente. Renomear APIs, migrar padroes, atualizar imports, converter tipos. A IA entende o contexto semantico de cada mudanca, nao apenas faz find-and-replace.
Refatoracoes grandes feitas manualmente levam semanas e introduzem inconsistencias. Com IA, uma migracao de API que tocaria 200 arquivos pode ser feita em horas, com cada transformacao respeitando o contexto local do arquivo. A IA ajusta o padrao conforme o uso.
Semantic codemods, batch transformation com review, consistency verification, rollback safety, test-first refactoring, incremental migration, feature flags em refatoracao.
Usar IA para identificar responsabilidades misturadas em modulos e propor reorganizacoes que aumentam a coesao e reduzem o acoplamento. A IA analisa quais funcoes/classes sao usadas juntas, quais pertencem a dominios diferentes e sugere uma nova estrutura modular.
Codigo legado tende a acumular responsabilidades em "god modules" que fazem de tudo. Separar manualmente e arriscado porque voce nao enxerga todas as dependencias. A IA varre o grafo de dependencias inteiro e propoe cortes que minimizam breaking changes.
Cohesion analysis, responsibility extraction, module boundary detection, interface design, dependency inversion, strangler fig pattern, incremental extraction.
Duas estrategias de organizar codigo: feature slice agrupa por funcionalidade (tudo de "pagamentos" junto), vertical slice agrupa por camada tecnica (todos os controllers juntos, todos os services juntos). Cada abordagem tem implicacoes diferentes pra IA e pra manutenibilidade.
A organizacao do codigo afeta diretamente a qualidade do contexto que a IA recebe. Feature slices dao contexto completo de uma funcionalidade num unico diretorio. Vertical slices forcam a IA a navegar entre camadas. A escolha impacta a eficacia de agentes e a velocidade de desenvolvimento.
Feature-based architecture, vertical slice architecture, bounded contexts, context locality para IA, colocation de arquivos, shared kernel, trade-offs de cada abordagem.
Como padroes arquiteturais classicos (DDD, Hexagonal, Clean Architecture) se adaptam a era da IA. Repositorios IA-first sao organizados com CLAUDE.md/AGENTS.md na raiz, specs em /docs, context files por feature e convencoes explicitas que agentes entendem.
Arquiteturas que funcionavam bem para devs humanos podem ser hostis para agentes. Clean Architecture com sua separacao estrita e otima para humanos mas multiplica o contexto necessario para um agente. Repositorios IA-first balanceiam separacao com localidade de contexto.
DDD aggregate roots como context boundaries, Hexagonal ports/adapters para tool integration, IA-first repo structure, CLAUDE.md como system prompt, AGENTS.md para convencoes, context files (.cursorrules, .github/copilot), documentation-as-context.
Modulo legado monolitico: (1) AI mapeia dependencias e identifica fronteiras, (2) gerar golden tests que capturam comportamento atual sem alterar nada, (3) refatorar incrementalmente validando contra golden tests, (4) cada passo = commit testavel. Se teste quebrar, rollback.
Codigo em versao antiga (jQuery > React, Python 2 > 3, Express 3 > 5): (1) AI analisa e gera plano de migracao com riscos mapeados, (2) humano valida e prioriza, (3) migrar uma funcionalidade por vez, (4) testar cada etapa antes de seguir.
AI audita codebase e gera relatorio de divida tecnica: duplicacao de logica, funcoes com responsabilidades multiplas, dependencias circulares, codigo morto. Comparar com ferramentas tradicionais (CodeScene, SonarQube). Discutir falsos positivos.
Repo de 50+ arquivos que o aluno nunca viu. Usar AI para mapear arquitetura em 30 min: diagrama Mermaid, modulos principais, entrypoints, pontos de risco. Depois comparar com explorar manualmente. Quanto tempo economizou? Acertou a arquitetura?