Vibecoding
Como revisar código gerado por IA (checklist prático)
A IA escreve rápido. Isso não quer dizer que escreve certo. Um checklist pra você revisar antes de confiar.
A IA te entrega 200 linhas em 5 segundos. Você lê 3 e aperta aceitar. Esse é o momento exato em que o bug entra no seu projeto.
Segundo a Veracode, código gerado por IA tem 2,74x mais chance de conter vulnerabilidades do que código escrito por humano com revisão. Não é que a IA seja ruim. É que ninguém está lendo.
Meu take: velocidade sem revisão não é produtividade. É dívida com juros. Aqui está o checklist que eu rodo em todo trecho gerado.
Camada 1: Entender antes de ler
Antes de olhar linha por linha, responda uma pergunta: o que esse código deveria fazer?
Se você não sabe explicar em uma frase o que pediu, você não tem como revisar. Você só vai olhar e achar bonito.
Escreva o objetivo em uma linha. Depois compare com o que a IA entregou. Muita coisa quebra aqui: você pediu A, ela fez B parecido.
Camada 2: Ler de verdade
Agora sim, linha por linha. Procure três coisas:
- Nomes de variável que não fazem sentido pro seu contexto.
- Lógica que você não entende. Se você não entende, você não mantém.
- Coisas "a mais" que você não pediu. IA adora adicionar features fantasma.
Regra dura: se tem uma linha que você não sabe explicar, ela não entra. Pergunta pra IA o que aquilo faz. Ou apaga.
Camada 3: Blindar
Aqui é onde a maioria falha. Pergunte:
- E se o input vier vazio?
- E se vier um valor gigante ou malicioso?
- Tem validação antes de usar o dado?
- Tem tratamento de erro ou vai explodir na cara do usuário?
Exemplo do que procurar. Isso aqui é bomba:
const user = await db.query("SELECT * FROM users WHERE id = " + req.params.id)
Concatenar input direto na query é SQL injection servido em bandeja. O certo usa parâmetro:
const user = await db.query("SELECT * FROM users WHERE id = ?", [req.params.id])
Camada 4: Testar
Código que roda uma vez não é código que funciona. Teste os casos de borda:
- O caminho feliz (o que deveria acontecer).
- O input vazio.
- O input errado.
- O limite (número máximo, string enorme).
Se não deu pra testar, não deu pra confiar. Rode. Veja quebrar. Conserte.
Camada 5: Versionar
Antes de aceitar de vez, commit. Assim você tem ponto de retorno. Se der ruim depois, você volta uma casa em vez de reconstruir tudo.
Mensagem de commit clara ajuda você a lembrar por que aquilo entrou. Falo disso em outro post.
O checklist em formato de bolso
Cola isso perto da tela:
- Sei explicar o que esse código faz?
- Li linha por linha?
- Tem validação de input?
- Tem tratamento de erro?
- Testei o caso de borda?
- Commitei antes de seguir?
Seis perguntas. Se alguma for "não", você ainda não terminou.
Vibecoding com engenharia é isso. Não é escrever menos. É revisar o que a máquina escreveu com olho de dono. A IA é sua estagiária mais rápida. Não é sua chefe.
A decisão é sua.
Perguntas frequentes
Perguntas rápidas
+Preciso revisar tudo mesmo?
Sim. Se você vai colocar seu nome no projeto, você é o dono do código. A IA sugere, você decide o que entra.
+Quanto tempo isso leva?
Menos do que consertar um bug em produção às 2h da manhã. Uma revisão de 10 minutos economiza horas depois.
+Dá pra automatizar parte disso?
Sim. Testes e linters pegam parte. Mas entender o que o código faz continua sendo trabalho seu.
Continue lendo
Como documentar um sistema que a IA escreveu
Documentação longa ninguém escreve e ninguém lê. Existe uma versão curta que cabe em uma página e resolve 90% do problema, principalmente quando quem escreveu o código foi a IA.
VibecodingComo subir pra produção numa sexta sem medo
A regra de não subir na sexta existe porque o processo é ruim, não porque sexta é perigosa. Com quatro coisas no lugar, o dia da semana para de importar.
VibecodingO agente de código entrou no canal do time. Ver não é revisar
O Slack lançou canais onde agentes de IA programam na frente de todo mundo, com Claude, Copilot, Devin, ChatGPT e Vercel. É a melhor notícia de governança do ano e a maior armadilha de teatro de revisão.