Code review antipatterns

Overall reaction

  • Many commenters find the antipatterns highly relatable and say they’ve seen most or all of them in real teams.
  • Some note that good review cultures are rare; they’ve mostly seen either rubber-stamping or “death by a thousand cuts.”
  • A few joke about training LLMs either to follow the antipatterns or to detect and correct them.

What code reviews are (and aren’t) for

  • Several argue reviews should focus on design sanity, complexity, readability, and test coverage, not bug-hunting or manual QA.
  • Others admit they rely on running the code or tests because “reading code is hard,” especially for high‑risk areas.
  • Reviews are also framed as knowledge transfer, shared ownership, and backdoor prevention, not just defect finding.

Antipatterns in practice

  • Repeated complaints about:
    • Nitpicking style, spelling, and trivial renames.
    • “Ransom note” behavior: blocking a focused PR on unrelated refactors or documentation overhauls.
    • Priority inversion: long lists of nits followed by a late “bombshell” design objection.
    • Silent or slow reviewers who intermittently respond just enough to keep PRs blocked.
    • Political or status games: using reviews to delay rivals or assert control.

Size, rigor, and context

  • Disagreement over acceptable PR/commit size: some aim for 100–200 line changes; others have unavoidable multi‑thousand‑file refactors.
  • Some suggest multi‑day, multi‑pass reviews for critical or embedded systems where updates are costly; others find that level of rigor excessive for typical software.
  • Lack of design context, goals, and background is cited as a root cause of many conflicts and misunderstandings.

Tooling, nits, and automation

  • Strong support for auto-formatters, linters, spell-checkers, and pre-commit hooks to eliminate style/format bikeshedding.
  • Some teams consciously ignore minor style issues in reviews; others insist small problems are still worth fixing but should be automated where possible.

Culture, communication, and remedies

  • Many point to culture and trust as the core issue, not individual pickiness.
  • Suggested mitigations:
    • Distinguish blocking vs “nice-to-have” comments (e.g., conventional comment tags, “[nit]”, “[suggestion]”).
    • Allow reviewers to directly push trivial fixes.
    • Escalation or multiple reviewers when there’s disagreement.
    • Prefer questions and stated concerns over vague or loaded prompts.
    • Use synchronous discussions (chat/meeting/pairing) when async ping‑pong drags on.