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 tudoFloor + domínio do diff
Quem revisaQuem está onlineQuem o diff toca + mínimo garantido
CompreensãoBaixa em mudanças cruzadasPrioriza quem tem mapa mental do código
Re-reviewAté cansarTeto explícito, depois conversa humana
Auth / dados sensíveis“Se der tempo”Obrigatório quando o diff pede
Fluxo: diff casa com domínio do revisor; se não, garante floor mínimo
Review com floor: domínio do diff + mínimo obrigatório de revisores.

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.

Voltar ao blog