Passo 1Encontrar os caminhos de risco
Autenticação, dinheiro, acesso a dados, parsing, criptografia e input externo.
ATALAIAQue código movimenta pontos ou verifica quem é quem?
DEV LEADredeem(), o cliente do ledger e o parser de callbacks do parceiro.
ATALAIAEsses têm sempre revisão humana. Os scanners ficam com o resto.
Sai da salaCaminhos de risco: auth, redeem, ledger, parser
Passo 2Ler os diffs
Linha a linha, com o threat model ao lado do código.
ATALAIAEm redeem(), corre a verificação do saldo e depois a escrita. Nada pelo meio.
PROGRAMADORMas é rápido. Dois pedidos podem mesmo chegar juntos?
ATALAIAFacilmente, com um script. Duas threads, um saldo, dois vouchers.
Sai da salaPR #318: 214 linhas lidas
Passo 3Comentar onde os devs trabalham
As falhas chegam como comentários no PR com uma correção sugerida.
ATALAIAA correção está no PR como sugestão: um débito condicional.
PROGRAMADORAplicado. O meu teste com dois resgates em paralelo agora faz falhar um deles.
Sai da sala3 comentários no PR, 1 correção sugerida
Passo 4Ensinar o padrão
Checklists e trabalho em par para que a próxima revisão precise menos de nós.
DEV LEADPodemos transformar isto numa checklist para os devs seniores?
ATALAIAOito verificações para caminhos de dinheiro. A próxima revisão é liderada por si, e eu observo.
Sai da salaChecklist: 8 verificações para caminhos de dinheiro
- ATALAIA
- DEV LEAD
- PROGRAMADOR
- PROGRAMADOR 2
- PROGRAMADOR 3