Analisando código de produção com IA

Programação assistida por IA avançada para desenvolvedores

Thalia Barrera

AI Engineering Curriculum Manager, DataCamp

Além da geração de código

nanobanana: full: analisando código de produção com IA

Programação assistida por IA avançada para desenvolvedores

Visão geral do curso

nanobanana: half: desenvolvedor na mesa com vários monitores

 

Neste curso, você vai aprender a:

  • Fazer análise de código com IA para código de produção
  • Aplicar testes e segurança assistidos por IA
  • Usar IA para design de software e colaboração
Programação assistida por IA avançada para desenvolvedores

O cenário: Wayfarer Labs

nanobanana: half: escritório de startup de turismo com mapas do mundo

 

  • 💻 Você é desenvolvedor(a) de software na Wayfarer Labs
  • 🌎 Uma startup de turismo criando uma plataforma de mobilidade
  • 🔎 Sua tarefa: achar uma ferramenta de analytics open source
Programação assistida por IA avançada para desenvolvedores

Descobrindo o Atlas

 

atlas-ch1.png

 

Perguntas-chave antes de adotar:

  • É manutenível?
  • É confiável?
  • É uma adição sólida de longo prazo?

 

🤖 A IA pode acelerar e sistematizar a avaliação do código!

Programação assistida por IA avançada para desenvolvedores

Entendendo um novo repositório

 

nanobanana: full: IA guiando a exploração de um novo repositório

Programação assistida por IA avançada para desenvolvedores

Prompts estruturados para orientar a base de código

prompt1-ch1.png

Programação assistida por IA avançada para desenvolvedores
Programação assistida por IA avançada para desenvolvedores

Prompts estruturados para orientar a base de código

 

atlas-command.png

Programação assistida por IA avançada para desenvolvedores

 

🤖 Prompt de análise estática:

O repositório a seguir contém uma toolbox de analytics em Python chamada Atlas, para uso em produção.

Assuma que tenho um sistema tipo Unix e posso instalar ferramentas open source comuns.

Quero fazer uma análise estática dessa base de código sem executá-la.

 

Seu objetivo é:

  • Recomendar ferramentas de análise estática adequadas para o projeto
  • Explicar o que cada ferramenta mede e por que é relevante
  • Fornecer comandos concretos para rodar a análise
  • Explicar como interpretar os principais resultados
Programação assistida por IA avançada para desenvolvedores
Programação assistida por IA avançada para desenvolvedores

Análise dinâmica guiada por IA

nanobanana: full: análise dinâmica com perfilamento

Programação assistida por IA avançada para desenvolvedores

Avaliando qualidade de código com IA

 

🤖 Prompt de manutenibilidade:

Analise a base de código por pontos de manutenibilidade: identifique módulos sobrecarregados, funções com responsabilidades difusas e áreas onde uma mudança exige editar múltiplos arquivos.

 

Problemas de manutenibilidade:

  • Módulos sobrecarregados
  • Responsabilidades difusas
Programação assistida por IA avançada para desenvolvedores

Complexidade e dívida técnica

 

🤖 Prompt de complexidade:

Identifique áreas de alta complexidade lógica, focando em funções longas, condicionais aninhadas e ramificações.

Indicadores de complexidade:

  • Funções longas
  • Condicionais aninhadas
  • Muita ramificação

 

🤖 Prompt de dívida técnica:

Procure sinais de dívida técnica, como TODOs, lógica duplicada ou padrões legados.

Sinais de dívida técnica:

  • TODOs e FIXMEs
  • Lógica duplicada
  • Padrões legados
Programação assistida por IA avançada para desenvolvedores

Conclusão da avaliação

 

Veredito sobre o Atlas:

  • ✅ Base de código bem estruturada
  • ✅ Razoável adotar
  • 👀 Tratar complexidade primeiro
  • 👀 Atacar a dívida técnica
Programação assistida por IA avançada para desenvolvedores

Refatoração assistida por IA

 

code-changes-ch1.png

 

IA também pode nos ajudar a:

  • Refatorar focando em mudanças de alto impacto
  • Propor patches
Programação assistida por IA avançada para desenvolvedores

Lembrete importante

nanobanana: half: desenvolvedor revisando sugestões de IA de forma crítica

 

IA não substitui o julgamento de engenharia

  • Pode errar
  • Pode perder contexto
  • Pode alucinar

✔ Bem usada, acelera o entendimento e ajuda a tomar melhores decisões de código

Programação assistida por IA avançada para desenvolvedores

Vamos praticar!

Programação assistida por IA avançada para desenvolvedores

Preparing Video For Download...