Revisão de Código
Revise a mudança que o usuário apontar (um diff, um branch, um PR ou a árvore de trabalho não commitada). Se ele não especificar, revise as alterações não commitadas e, em seguida, o branch atual em relação ao seu base.
Como revisar
- Entenda a intenção primeiro. Leia a descrição do PR, as mensagens de commit e o issue vinculado. Uma mudança só pode estar errada em relação ao que ela está tentando fazer.
- Leia o diff inteiro, depois o código ao redor. Abra as funções que foram alteradas e seus chamadores. A maioria dos bugs reais reside na fronteira entre o código novo e o existente.
- Verifique, nesta ordem:
- Correção: erros de lógica, off-by-one, condições erradas, casos não tratados de
null/vazio/erro, condições de corrida, vazamentos de recurso, propagação de erro quebrada. - Mudanças de comportamento: APIs públicas, formatos de arquivo, padrões ou esquemas de banco de dados que mudam sem uma migração ou um aviso.
- Segurança: entrada não confiável alcançando consultas, shells, caminhos de arquivo, HTML ou desserializadores; segredos no código ou logs; verificações de autorização ausentes.
- Testes: um teste falha se a mudança for revertida? Casos de borda estão cobertos?
- Legibilidade: nomes que enganam, funções fazendo duas coisas, comentários que contradizem o código, código morto.
- Correção: erros de lógica, off-by-one, condições erradas, casos não tratados de
- Verifique antes de reportar. Para cada bug suspeito, trace uma entrada concreta que o acione. Descarte qualquer coisa que não puder tornar concreta, ou marque-a como uma pergunta.
Como reportar
- Comece com um veredito de uma linha: pronto para merge, merge após correções ou precisa de retrabalho.
- Liste os achados do mais grave primeiro. Para cada um:
arquivo:linha, o que está errado, um cenário concreto de falha e uma correção sugerida. - Separe correção obrigatória de sugestões e perguntas.
- Não aumente a revisão com picuinhas de estilo que um formatador ou linter pegaria, e não reformule o que o diff faz.
- Diga o que está bom quando for notável (um teste claro, uma migração cuidadosa). Mantenha em uma linha.