Skip to content
All insights
PracticeAI

What we look for in a code review

Aaron WylieNovember 12, 20256 min read

Automated review handles the dull half. That frees human review to spend its attention on the things a tool cannot see.

Code review has a failure mode where it becomes a formatting argument. Nobody learns anything, the real risks pass unexamined, and the author concludes that review is theatre.

Splitting review into two layers fixed this for us.

The machine layer

Formatting, lint, type errors, obvious null paths, missing indexes on new foreign keys, secrets in a diff, dependency advisories. Automated review runs on every change before a human opens it.

This is not a small saving. It removes almost everything that used to generate low-value comments, and it never gets tired on a Friday afternoon.

The human layer

What is left is the part that requires knowing the system and the business:

  • **Is this the right change?** The code can be flawless and solve a problem that should have been solved elsewhere.
  • **What happens when it fails?** Every network call, every write. What does a user see when this times out halfway?
  • **What does this cost at 100x?** Fine at current volume, catastrophic at ten times it - and nothing in the diff says so.
  • **Will the next person understand why?** Not what - the code says what. Why this approach over the obvious one.
  • **What is now harder to change?** Every abstraction closes doors as well as opening them.

On generated code

The same review applies, with one addition: does the author understand it? Code that cannot be explained in review does not merge, regardless of where it came from. That single rule is what keeps AI assistance from turning into a maintenance problem later.

Ready to build something that lasts?

Tell us what you are trying to ship. We will tell you how we would approach it - scope, stack, and timeline - before you commit to anything.