O documento discute como usar inteligência artificial para melhorar a qualidade do código. Ele apresenta uma história real sobre como a IA pode ser mais produtiva do que desenvolvedores experientes. Também discute como ferramentas de IA como LLMs podem ser usadas para escrever código, encontrar problemas, escrever casos de teste e revisar código de forma automatizada.
Estratégias de desenvolvimento de aplicativos para dispositivos móveis em vár...
Como usar IA para melhorar a qualidade do seu código
1. Como usar IA para
melhorar a qualidade
do seu código
Evandro da Silva Amparo
@evandroamparo
2. Hoje veremos
● Uma história real
● Escrever código limpo é
difícil
● A IA veio para ficar
● Como usar as
ferramentas (LLMs)?
● Como melhorar a
qualidade do código
3. Quem sou eu?
Evandro da Silva Amparo
● Desenvolvedor .NET
back-end
● Engenheiro de software
● +20 anos de estrada
● Foco na qualidade do
código
Eu ajudo desenvolvedores
que usam .NET no backend a
entregarem software de
qualidade para que possam
ter acesso às melhores
oportunidades do mercado.
5. Uma história real
Alex, 19 anos de experiência,
completou apenas 7% das
tarefas.
Hamid, com 4 anos de
experiência, fez 95% do
trabalho em uma semana,
testes end-to-end, 100% de
cobertura.
Vercel: $20
Salário: $3500
Total estimado: $45k
Espera-se +$11k para
adicionar testes
Hospedar/executar: $20/mo
GPT-4: $211
Copilot: $20
Cloudflare: $5
Bubble: $134
Salário: $2460 (41 horas
trabalhadas)
Hospedar/executar: 139/mo
8. A IA veio para ficar
A IA vai afetar o seu trabalho.
Nesse contexto, como se preparar para ser um profissional
melhor?
💡 É preciso saber usar as ferramentas de IA!
9. Se não pode
vencê-los...
● IA vai roubar empregos?
● IA como ferramenta de
produtividade
● Assistentes inteligentes
● LLMs são poderosos mas
limitados
10. Acostume-se com a
ideia de um código
“cyborg”
Parte escrito por humanos,
parte gerado por IA.
12. Prompt engineering
Contexto:
▶ LLMs são treinados com todo tipo de dados:
AGI - Artificial General Intelligence
▶ Forneça contexto suficiente e instruções detalhadas
▶ Faça iterações até conseguir um resultado
satisfatório
13. Prompt engineering
▶ Faça de conta que está conversando com um humano
➡ “Responda como um desenvolvedor especialista no
desenvolvimento de microsserviços com .NET e Azure.
Você irá me ajudar a escrever código tolerante a
falhas. Entendeu?”
➡ Dê exemplos do tipo de resultado que você quer
(tabelas, JSON, etc).
14. ▶ Confie, mas verifique
▶ ChatGPT foi treinado com códigos bons e ruins também
▶ Fique atento à segurança: SQL, scripts, criptografia,
senhas, etc
▶ Cuidado com dados sensíveis
Prompt engineering
28. Outras
formas de
melhorar o
código:
● Adequação aos princípios SOLID,
padrões de projeto ou
padrões arquiteturais
● Resolver problemas de desempenho
● Encontrar bugs
● Escrever código mais legível,
simples, robusto, etc.
32. Plano
ChatGPT gera um plano de
implementação (lista de tarefas)
Desenvolvimento de testes primeiro auxiliado
por IA
IA como ferramenta
🤖ChatGPT gera os testes,
dev implementa funcionalidades
Prompts reutilizáveis
Descrição detalhada da
aplicação e do problema
Gerar testes
Gerar código é a última etapa
https://www.thoughtworks.com/pt-br/radar/techniques/ai-aided-test-first-development
33. O que realmente importa
Foco: Não é a tecnologia e sim o resultado.
Desenvolvedores são resolvedores de
problemas.
Experiência: O que conta é a sua capacidade de tomar
decisões.
Ferramentas: Não substituem pessoas, geram + eficiência.
Habilidades: Afie suas habilidades em algo real, que traga
resultado para pessoas e empresas.