Code reviews do find bugs
Perceived benefits
- Many commenters say reviews routinely catch bugs and edge cases, sometimes averting outages or data loss.
- Reviews surface tech debt, code smells, and poor interfaces early, improving long‑term maintainability.
- Knowing code will be reviewed makes authors more careful; some claim error rates rise when reviews are relaxed.
- Reviews help share context and keep the team aware of changes, and can be strong mentoring/learning channels, especially for juniors or newcomers.
Costs and failure modes
- Common complaints: time sink (several hours/week), PRs blocked waiting for review, context switching, and large unreviewable PRs.
- In many teams reviews become rubber‑stamps, nitpicking sessions, or “kangaroo courts” driven by power, ego, or politics.
- Follow‑up work (“we’ll fix this later”) and TODOs often never happen; tech‑debt tickets languish at low priority.
When and how to review
- Several advocate small, coherent, reviewable PRs; large ones are seen as anti‑pattern.
- Opinions split on blocking vs post‑merge reviews. Some like post‑commit or “ship/show/ask” models; others insist critical code must be reviewed before merge.
- Some reviewers approve by default and only block for serious issues; minor comments are marked explicitly as non‑blocking.
- There’s disagreement on meetings: some value synchronous walkthroughs for complex PRs, others find any PR meeting intolerable.
Culture, power, and psychology
- Effective review cultures are described as intentional: clear expectations, priority for reviews, positive feedback, and visible support from leadership.
- Issues raised: ego and defensiveness, stacked‑ranking games (deliberately delaying others’ PRs), stratification between seniors and juniors, and review fatigue for a few “workhorse” reviewers.
- Others stress “kind, not nice” feedback, avoiding personal attacks while being candid.
Tooling and automation
- Strong support for offloading style/format to formatters and linters so reviews focus on logic and design.
- Static analysis, tests, CI, and review environments are seen as essential complements; repeated bug patterns in reviews should trigger new automated checks.
Overall
- Broad agreement that reviews can be valuable, but only when scoped sensibly, supported by tooling, and embedded in a healthy team culture.
- Disagreement remains on whether mandatory pre‑merge review for every change is worth its cost.