Seu code review não precisa de mais gente — precisa de foco
Por William Pereira ·
“Manda para review” virou sinônimo de “coloca três nomes no PR”. O resultado costuma ser comentário cosmético, silêncio de quem não entendeu o domínio, ou fila eterna. O gargalo raramente é falta de boa vontade — é falta de contexto e de mínimo obrigatório.
Com assistência de IA o volume de diff sobe fácil. Sem roteamento, o review vira o novo gargalo: mais código, mesma compreensão rasa.
Review genérico vs review com evidência
| Todo mundo em tudo | Floor + domínio do diff | |
|---|---|---|
| Quem revisa | Quem está online | Quem o diff toca + mínimo garantido |
| Compreensão | Baixa em mudanças cruzadas | Prioriza quem tem mapa mental do código |
| Re-review | Até cansar | Teto explícito, depois conversa humana |
| Auth / dados sensíveis | “Se der tempo” | Obrigatório quando o diff pede |
O que a pesquisa sugere
No estudo de modern code review na Microsoft, Alberto Bacchelli e Christian Bird mostram que, embora a motivação declarada seja achar defeitos, os resultados observados incluem melhoria de código, transferência de conhecimento e consciência de time — e que o desafio central é entender a mudança e seu contexto. Processos que ignoram compreensão empurram review para o teatro.
Fonte: Expectations, Outcomes, and Challenges of Modern Code Review (ICSE 2013).
Se compreensão é o gargalo, rotear revisores pelo domínio dos arquivos não é micro-otimização: é alinhar o ritual à evidência. O floor evita o outro erro — skip inteligente que vira zero review. O teto de re-review evita o terceiro: loop infinito de “mais uma rodada”.
Prós
- Menos ruído em PRs ortogonais ao domínio de alguém.
- Temas sensíveis deixam de depender de sorte na escala de reviewers.
- Teto de re-review força decisão: merge, reduzir escopo ou pair.
- Checklists por perfil tornam o “o que olho” ensinável a juniors.
Contras
- Mapa domínio→pessoas (ou perfis) precisa de dono.
- Regras de caminho de arquivo classificam mal se estiverem desatualizadas.
- PR enorme enfraquece qualquer roteador — fatie antes.
- Floor alto demais recreia o “todo mundo em tudo”.
Na prática
Liste perfis (backend, frontend, dados, auth). Para cada um, caminhos de arquivo típicos e um checklist de cinco perguntas. No PR, marque quais perfis o diff tocou; garanta pelo menos o mínimo de revisões efetivas e olho de auth quando houver login, sessão ou permissão.
Depois de duas rodadas de ida e volta sem convergência, pare o pingue-pongue e fale com gente na mesma call. Review assíncrono infinito raramente cria o contexto que Bacchelli e Bird apontaram como centro do problema.
Se quiser ver uma implementação open source desses padrões — que mantenho e uso no dia a dia — o repositório está em github.com/pereirawe/codex-flow.