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.