Ren's blog

Metaphysics, tunes, and code

06-18-2026

What I Look for on Code Reviews

An intern on my team didn't know how to open a pull request. That stuck with me. I was never taught what to look for once one is open either. I figured it out by watching teammates and missing things. Nobody handed me a checklist.

Here is mine.

1. Run Lint

If the project doesn't run lint on every push, I run it myself and treat every output line as a finding.

npx eslint $(git diff --name-only origin/main | grep '\.ts$')

A missing semicolon might seem small. But if obvious issues slip through, what else did?

2. Check Dependencies

If the PR adds or changes a dependency, I stop. Two questions: is this package safe, and why was it added?

npm audit

Most PRs that drop in a new library don't explain why. I want a comment, a ticket reference, something. If I can't find a reason, I ask.

3. Review Anti-Patterns

A class I once reviewed validated input, wrote to the database, sent emails, and formatted the response. No method was longer than 20 lines. It looked clean. It was a God Object. Tests were a nightmare and nothing could be touched without breaking something else.

I scan for patterns like that. Some to watch for:

4. Review Language-Specific Bad Practices

Every language has its traps. If I know it, I look for them. If I don't, I say so. Pretending makes the review worse, not better.

In JavaScript, forgetting await is a quiet one:

// silently returns a Promise, not a user
async function getUser(id) {
  const user = fetchUser(id);
  return user.name;
}

// correct
async function getUser(id) {
  const user = await fetchUser(id);
  return user.name;
}

No error, no warning. It just fails at runtime.

5. Check Test Coverage

New code should be tested. Not just that tests exist, but that they cover what changed.

A PR that adds an endpoint without testing the error path is half-done. I look for:

Tools like nyc or c8 can flag gaps before the review even starts.

The Point

The lint and dependency checks take minutes. The rest takes judgment. If all you needed was a script, you wouldn't need a reviewer.