Code Review Is About Transferring Knowledge, Not Catching Errors

Code Review Is About Transferring Knowledge, Not Catching Errors

If the purpose of review were finding defects, the practice would be hard to justify. Linters catch style, type checkers catch a large class of mistakes, and tests catch behavioural regressions — all faster and more consistently than a human reading a diff on a Friday afternoon. What automation cannot do is tell a colleague why this part of the system is shaped the way it is.

Reframe the goal

Once knowledge transfer is the objective, the useful comments change character. Questions replace corrections. Context replaces preference. Engineering blogs discussing this shift, including the pieces collected at the engineering writing here, describe the same measurable outcome: fewer nitpicks, faster merges, and more people able to work in unfamiliar areas of the codebase.

Comments worth writing

  • "This module gets called from the billing job too — does that path still work?"
  • "We tried this approach in 2023 and reverted it; here is the incident."
  • "I do not understand this function's purpose from its name."
  • "This is fine, but there is a helper that does it already."

Each transfers something the author could not have known. Compare that with a comment about brace placement, which a formatter should have handled before the review existed.

Make the mechanics support it

Small pull requests get real review; large ones get approval. Automate every mechanical check so humans never spend attention on them. State clearly whether a comment blocks merging or is merely an observation, because ambiguity here is the main source of review friction. And set an expectation for response time — a review that arrives two days late has already cost more in context-switching than it saves.

The reviewer's obligation

Review is a contribution, not an inspection. That means reading enough of the surrounding code to comment usefully, being explicit about what you did not check, and approving when the change is better than what exists rather than waiting for perfection. A reviewer who blocks indefinitely on stylistic preference is not maintaining quality; they are creating a queue.