Summary

Sean Goedecke’s opinionated guide to common code review mistakes: reviewing only the diff (vs. the whole system), leaving too many comments, imposing personal taste, using comments when a blocking review is warranted, and blocking too aggressively in feature development codebases.

Sean Goedecke 關於常見代碼審查錯誤的主觀指南:只審查差異(而非整個系統)、留下過多評論、強加個人品味、在應該發出阻塞審查時只留評論,以及在功能開發代碼庫中過度阻塞。

Key Points

  • Don’t just review the diff: highest-impact comments come from system knowledge (“this already exists here,” “this belongs in another file”) that can’t be seen in the diff
  • 5-6 comments maximum: too many comments bury important ones in noise; for style issues, leave one comment asking the author to find and fix all instances
  • Don’t ask “how would I write it?”: there are multiple acceptable approaches; only comment when there’s a real problem, not just stylistic preference
  • Be explicit about blocking: comments alone create ambiguity about whether a PR is mergeable; use blocking review if you would be upset if it merged without your input
  • Most reviews should be approvals: high block rate signals gatekeeping problems; incentive misalignment between reliability-focused teams and feature teams
  • AI context: code is now easy to generate but just as hard to review; reviewers are becoming the bottleneck

Insights

The “don’t review with how-would-I-write-it filter” is the most practically impactful rule. Endless stylistic comments from reviewers who are imagining their own solution create friction without adding value, and create a dynamic where the author either capitulates or argues endlessly. The blocking vs. comments distinction is operationally important: ambiguous review status creates a meta-game where authors have to chase down every commenter to determine if they can merge. The 5-6 comment limit is controversial but defensible: it forces reviewers to prioritize the most important feedback.

Connections

Raw Excerpt

A good code review shouldn’t contain more than five or six comments. When you receive a review with a hundred comments, it’s very hard to engage with that review on anything other than a trivial level. Any really important comments get lost in the noise.