Review in layers
Start with intent and risk before discussing local style.
- Understand the user problem, acceptance criteria, and intended behavior.
- Check architecture, data flow, permissions, and failure behavior.
- Inspect tests, migrations, compatibility, and rollout strategy.
- Review readability, naming, duplication, and maintainability.
- Clearly label blocking issues, suggestions, questions, and praise.
Key idea: Do not polish an implementation that solves the wrong problem.