Voce pediu um ajuste para a IA, ela devolveu um bloco de codigo, voce clicou em "aceitar" e seguiu a vida. Duas semanas depois alguem descobre que o formulario de contato parou de salvar, ou que a tela de pedidos mostra dados de outro cliente, ou que a conta do servidor triplicou. O codigo funcionava na sua frente. So nao funcionava direito.
O problema quase nunca e a IA escrever besteira obvia. E ela escrever algo que roda, parece limpo e falha em situacoes que voce nao testou. Abaixo esta um checklist de 20 itens para passar antes de aceitar qualquer alteracao gerada, organizado por gravidade: primeiro o que derruba ou vaza, depois o que corrompe dados aos poucos, depois o que so vai te custar caro la na frente. Nao e preciso saber programar para rodar a maior parte dele.
{"title":"Checklist Para Revisar Codigo Que a IA Escreveu: 20 Itens Por Gravidade","slug":"checklist-revisar-codigo-ia","meta_description":"Como revisar codigo gerado por IA sem ser programador: checklist de 20 itens organizados por gravidade, do que quebra o sistema ao que so incomoda depois.","keyword_main":"como revisar codigo gerado por ia","intro":"
Voce pediu um ajuste para a IA, ela devolveu um bloco de codigo, voce clicou em \"aceitar\" e seguiu a vida. Duas semanas depois alguem descobre que o formulario de contato parou de salvar, ou que a tela de pedidos mostra dados de outro cliente, ou que a conta do servidor triplicou. O codigo funcionava na sua frente. So nao funcionava direito.
O problema quase nunca e a IA escrever besteira obvia. E ela escrever algo que roda, parece limpo e falha em situacoes que voce nao testou. Abaixo esta um checklist de 20 itens para passar antes de aceitar qualquer alteracao gerada, organizado por gravidade: primeiro o que derruba ou vaza, depois o que corrompe dados aos poucos, depois o que so vai te custar caro la na frente. Nao e preciso saber programar para rodar a maior parte dele.
","content":"
Como usar este checklist na pratica
\n
A regra e simples: quanto maior a alteracao, mais fundo voce desce na lista. Um ajuste de cor no botao para no bloco 3. Uma mudanca que toca login, pagamento, banco de dados ou dados de cliente passa pelos 20 itens.
\n
Dois conceitos antes de comecar, porque eles aparecem o tempo todo:
\n
\n- Diff e a lista do que mudou: linhas removidas (geralmente em vermelho) e linhas adicionadas (em verde). Toda ferramenta de IA de codigo mostra isso antes de aplicar. Se voce nao esta vendo o diff, esta aceitando no escuro.
\n- Dependencia e um pedacinho de codigo pronto, feito por terceiros, que seu sistema importa em vez de escrever do zero. Util, mas cada uma e uma porta que voce abriu para codigo que nao e seu.
\n
\n
Trate o checklist como uma inspecao, nao como leitura. Voce nao precisa entender cada linha. Precisa procurar padroes especificos.
\n\n
Bloco 1 — Gravidade critica: derruba, vaza ou cobra
\n
Estes seis itens sao os que causam prejuizo imediato e visivel. Se algum falhar, nao aceite a alteracao.
\n\n
1. Tem alguma senha, chave ou token escrito no meio do codigo?
\n
Procure no diff por trechos como api_key =, password =, secret, token seguidos de uma sequencia longa de letras e numeros. A IA costuma colocar credenciais direto no arquivo para \"funcionar logo\". Se esse arquivo for parar num repositorio publico, a chave vazou. Credenciais moram em variaveis de ambiente ou num arquivo separado que nunca sobe junto com o codigo.
\n\n
2. Deletou algo que voce nao pediu para deletar?
\n
Olhe as linhas vermelhas do diff, nao so as verdes. E comum a IA reescrever uma funcao inteira e, no caminho, remover uma validacao, um tratamento de erro ou uma regra de negocio que ela nao entendeu para que servia. Se o diff remove mais do que voce esperava, pergunte por que aquilo saiu antes de aceitar.
\n\n
3. Alguma consulta ao banco monta texto com dados do usuario?
\n
Se voce ver uma consulta ao banco de dados montada por concatenacao (juntar pedacos de texto com o que o usuario digitou, usando +, . ou aspas coladas), isso e a porta de entrada classica para invasao. O jeito correto usa parametros, com marcadores como ? ou :nome no lugar do valor. Nao precisa saber o resto: se tem texto de usuario colado dentro da consulta, devolva para a IA e peca consulta parametrizada.
\n\n
4. Existe verificacao de quem esta pedindo?
\n
Um erro muito frequente em codigo gerado: a tela verifica se voce esta logado, mas nao verifica se aquele pedido e seu. O resultado e o cliente A conseguindo abrir o pedido do cliente B so trocando o numero na barra de endereco. Teste na unha: logue com uma conta, troque o identificador na URL para o de outra conta e veja se abre.
\n\n
5. A alteracao mexe em dinheiro, estoque ou envio de mensagem?
\n
Codigo que cobra, baixa estoque ou dispara e-mail e WhatsApp precisa de protecao contra repeticao. Se o usuario clicar duas vezes ou a rede oscilar, a operacao pode acontecer duas vezes. Pergunte diretamente para a IA: \"o que acontece se essa funcao rodar duas vezes com os mesmos dados?\" A resposta revela se ela pensou nisso.
\n\n
6. Adicionou dependencias novas?
\n
Toda biblioteca nova que aparecer no diff merece uma busca rapida: existe mesmo, e mantida, tem uso real? Modelos ocasionalmente inventam nomes de pacotes plausiveis que nao existem — e ja houve casos de gente registrando esses nomes inventados para distribuir codigo malicioso. Instalar sem conferir e risco desnecessario.
\n\n
Bloco 2 — Gravidade alta: corrompe dados devagar
\n
Aqui nada explode. O sistema segue rodando e gravando coisa errada, e voce so descobre quando precisa dos dados.
\n\n
7. O que acontece quando o campo vem vazio?
\n
Teste enviar o formulario sem preencher nada, com espacos em branco, com um nome de 300 caracteres. Codigo gerado costuma assumir que o usuario preenche direito.
\n\n
8. Erros aparecem ou somem calados?
\n
Procure no diff por blocos que capturam erro e nao fazem nada com ele — algo como catch ou except seguido de nada, ou de um comentario. Isso significa que quando der problema, ninguem vai ficar sabendo. Erro tem que ser registrado em log e, quando afeta o usuario, mostrado em portugues claro.
\n\n
9. A mensagem de erro entrega demais?
\n
O inverso do item anterior. Se ao dar erro a tela mostra caminho de arquivo do servidor, nome de tabela ou trecho de codigo, isso e mapa gratis para quem quiser atacar. Usuario ve \"nao foi possivel concluir\"; o detalhe vai para o log.
\n\n
10. Datas, fusos e formato brasileiro estao certos?
\n
Modelos tendem ao padrao americano. Confira se data grava no fuso correto, se aceita formato dia/mes/ano, se valor com virgula decimal nao vira outro numero. Um relatorio inteiro pode sair errado por causa disso.
\n\n
11. Dinheiro esta sendo somado com numero quebrado?
\n
Valores monetarios calculados com numeros de ponto flutuante (o tipo padrao para decimais na maioria das linguagens) acumulam erro de centavos. Em cima de milhares de transacoes, isso vira diferenca de fechamento. O correto e usar tipo decimal proprio ou trabalhar em centavos inteiros.
\n\n
12. Tem migracao de banco no meio da alteracao?
\n
Se o diff cria, renomeia ou apaga coluna ou tabela, isso e irreversivel em producao sem backup. Leia essa parte com atencao redobrada e faca backup antes. \"A IA disse que era seguro\" nao restaura dado nenhum.
\n\n
13. O teste que ela escreveu testa mesmo alguma coisa?
\n
Quando a IA gera testes, e comum eles apenas confirmarem o obvio ou usarem simulacoes tao completas que nada real e verificado. Um teste que passa sempre da falsa seguranca. Sabotagem util: quebre o codigo de proposito e veja se o teste acusa. Se continuar verde, o teste e decorativo.
\n\n
\n
Nada aqui impede o lancamento. Tudo aqui aumenta o custo de manter o sistema vivo.
\n\n
14. Ela reescreveu algo que ja existia?
\n
IA nao tem visao completa do seu projeto e frequentemente cria uma terceira funcao de formatar telefone porque nao achou as outras duas. Antes de aceitar, procure no projeto se ja existe algo com a mesma finalidade.
\n\n
15. Tem consulta ao banco dentro de um laco de repeticao?
\n
Padrao classico de lentidao: para cada item da lista, uma consulta separada. Com 20 registros ninguem nota. Com 20 mil, a pagina trava. Se voce ver uma consulta dentro de um \"para cada\", vale pedir a versao que busca tudo de uma vez.
\n\n
16. O codigo esta comentando o obvio e calando o importante?
\n
Comentario que repete a linha nao ajuda ninguem. O que voce quer e explicacao de decisao: por que este limite, por que esta excecao. Se a alteracao tem regra de negocio nao obvia sem explicacao, peca para documentar.
\n\n
17. Ficou codigo morto?
\n
Funcoes que ninguem chama, variaveis criadas e nao usadas, trechos comentados \"por garantia\". Acumulam e depois ninguem tem coragem de apagar porque nao sabe se e usado.
\n\n
18. Da para desfazer?
\n
Antes de aceitar alteracao grande, garanta que existe ponto de retorno: commit anterior salvo, backup do banco, versao anterior no ar. Sem isso, o custo de errar deixa de ser tempo e passa a ser prejuizo.
\n\n
19. Voce consegue explicar o que essa alteracao faz?
\n
Este e o item mais desconfortavel e o mais util. Se voce nao consegue descrever em duas frases o que mudou e por que, voce nao esta mantendo o sistema — esta hospedando ele. Peca para a IA explicar em portugues simples e confira se a explicacao bate com o diff.
\n\n
20. Isso deveria ter sido feito por IA?
\n
Autenticacao, cobranca, calculo fiscal, dado de saude, integracao bancaria: sao areas onde o custo de um erro sutil supera muito o tempo economizado. Usar IA como apoio ali e razoavel; aceitar sem revisao humana qualificada nao e.
\n\n
Uma tabela para decidir rapido
\n
\n| Tipo de alteracao | Ate onde revisar | Precisa de outra pessoa? |
\n| Texto, cor, ajuste visual | Itens 1, 2 e 19 | Nao |
\n| Formulario, listagem, filtro | Blocos 1 e 2 | Recomendavel |
\n| Login, permissao, pagamento, banco | Os 20 itens | Sim, alguem tecnico |
\n| Migracao de banco em producao | Os 20 + backup testado | Sim, sem excecao |
\n
\n\n
O que este checklist nao resolve
\n
Vale ser honesto sobre os limites. Ele pega o que e visivel no diff e o que da para testar clicando. Nao pega falha de arquitetura — o sistema inteiro construido de um jeito que so vai doer quando crescer. Nao pega problema de concorrencia, quando duas pessoas fazem a mesma coisa no mesmo instante. Nao substitui revisao de alguem que programa quando o sistema guarda dado sensivel ou movimenta dinheiro.
\n
Tambem nao adianta pedir para a propria IA revisar o codigo dela e parar por ai. Ajuda, e vale fazer como primeira passada, mas o modelo tende a validar as premissas que ele mesmo assumiu. Se ele entendeu errado a regra do seu negocio na hora de escrever, vai entender errado de novo na hora de revisar. Ferramentas diferentes revisando uma a outra funcionam um pouco melhor, mas ainda erram junto em pontos parecidos.
\n
E existe o custo do proprio processo. Revisar dobra o tempo de cada alteracao no comeco. Depois de algumas semanas voce ja bate o olho e identifica os padroes ruins em segundos — mas as primeiras vezes sao lentas mesmo. Vale muito mais que descobrir o problema com o cliente na linha.
\n\n
\n
Checklist que fica num documento ninguem usa. Tres formas de deixar isso vivo no seu dia a dia:
\n
\n- Cole os seis primeiros itens como instrucao fixa da ferramenta de IA que voce usa, no arquivo de regras do projeto. Assim ela ja gera considerando essas restricoes.
\n- Nunca aceite alteracao grande de uma vez. Peca em partes menores. Diff pequeno e revisavel; diff de 400 linhas ninguem le de verdade.
\n- Guarde os sustos. Cada vez que algo quebrar, anote o padrao que causou e adicione ao seu checklist. Em poucos meses voce tem uma lista feita sob medida para o seu sistema, que vale mais que qualquer lista generica — inclusive esta.
\n
","faq":"
Preciso saber programar para usar esse checklist?
Nao para a maior parte dele. Itens como conferir senha no codigo, testar formulario vazio, trocar o identificador na URL ou verificar se da para desfazer dependem de atencao, nao de conhecimento tecnico. Os itens sobre concorrencia, arquitetura e migracao de banco em producao realmente pedem alguem que programa — e essa e justamente a hora de nao improvisar.
Posso pedir para a propria IA aplicar o checklist no codigo dela?
Sim, e vale como primeira passada: cole os itens e peca uma auditoria item por item. Mas nao encerre ai. O modelo tende a confirmar as premissas que ele proprio adotou, entao se ele entendeu errado a regra do seu negocio, vai repetir o erro na revisao. Use como filtro inicial, nao como aprovacao final.
Quanto tempo isso leva por alteracao?
Para mudanca pequena, poucos minutos. Para alteracao que toca login, pagamento ou banco de dados, pode levar tanto quanto gerar o codigo. Nas primeiras semanas parece lento; depois vira leitura de padrao e cai bastante. Comparado ao custo de corrigir dado corrompido ou vazamento de chave, continua barato.
E se eu ja aceitei varias alteracoes sem revisar nada?
Nao tente revisar tudo retroativamente, voce vai desistir no meio. Comece pelo que da mais prejuizo: procure credenciais escritas no codigo, teste se um usuario acessa dado de outro e confirme que existe backup do banco funcionando. Resolvido isso, aplique o checklist so nas alteracoes novas, dai para frente.
","cta_html":"
Revisar codigo gerado por IA fica muito mais tranquilo quando o sistema foi construido com estrutura clara desde o inicio — permissoes separadas, validacao no lugar certo e ponto de retorno para cada mudanca. A WEEBs desenvolve sistemas sob medida ja com essa base e tambem acompanha quem prefere tocar o proprio projeto com IA sem aceitar tudo no escuro. Se voce quer conversar sobre o sistema que voce esta montando, e so chamar.
","title_field_note":""}
Revisar codigo gerado por IA fica muito mais tranquilo quando o sistema foi construido com estrutura clara desde o inicio — permissoes separadas, validacao no lugar certo e ponto de retorno para cada mudanca. A WEEBs desenvolve sistemas sob medida ja com essa base e tambem acompanha quem prefere tocar o proprio projeto com IA sem aceitar tudo no escuro. Se voce quer conversar sobre o sistema que voce esta montando, e so chamar.