Voltar para Trilha 2
Modulo 2.5

Refatoracao, legado e evolucao arquitetural com IA

IA aplicada a sistemas existentes. Leitura assistida, mapeamento de dependencias, refatoracao em massa e arquitetura.

1

📖 Leitura assistida - Bases grandes e sistemas complexos com apoio de IA

O que e:

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.

Por que aprender:

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.

Conceitos-chave:

Code navigation com IA, call graph exploration, "explain this function in context", dependency chain walking, architectural overview generation, pattern recognition em codebases.

2

🗺️ Mapeamento de dependencias - Hotspots, acoplamento e divida tecnica

O que e:

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.

Por que aprender:

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.

Conceitos-chave:

Dependency graph generation, churn analysis (git log), complexity metrics (cyclomatic, cognitive), coupling score, hotspot detection, tech debt quantification, risk scoring.

3

🔄 Refatoracao em massa - Seguranca e consistencia em mudancas amplas

O que e:

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.

Por que aprender:

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.

Conceitos-chave:

Semantic codemods, batch transformation com review, consistency verification, rollback safety, test-first refactoring, incremental migration, feature flags em refatoracao.

4

🏗️ Modularizacao com IA - Reorganizacao de responsabilidades e coesao

O que e:

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.

Por que aprender:

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.

Conceitos-chave:

Cohesion analysis, responsibility extraction, module boundary detection, interface design, dependency inversion, strangler fig pattern, incremental extraction.

5

🍕 Feature slice vs vertical slice - Estrategias de particao de codigo

O que e:

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.

Por que aprender:

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.

Conceitos-chave:

Feature-based architecture, vertical slice architecture, bounded contexts, context locality para IA, colocation de arquivos, shared kernel, trade-offs de cada abordagem.

6

🏛️ Arquiteturas com IA - DDD, Hexagonal, Clean e repositorio IA-first

O que e:

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.

Por que aprender:

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.

Conceitos-chave:

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.

📝 Exercicios

Projeto: Strangler Fig com IA (4h)

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.

Exercicio: Modernizacao de stack (3h)

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.

Exercicio: Debt Discovery (45 min)

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.

Lab: Mapeamento de codebase desconhecido (60 min)

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?