Code Review Checklist

Checklist

  1. Are all requirements implemented?
  2. Single responsibility of a single PR. No mixed changes.
  3. Is the code change the best way to implement the feature?
  4. Are there any regression issues introduced in the existing features?
  5. If it’s a breaking change, is it well communicated?
  6. Is the code change complete?
    1. Documents updated
    2. Migration included
    3. Configurations updated
    4. Other systems updated/notified
    5. Infrastructure(Database, etc.)
    6. Non-functional requirements
      1. Metrics
      2. Tracing
      3. Logging
  7. Are there any major issues found?
    1. Performance
    2. Security
    3. Thread safe
    4. Edge cases
  8. Are errors are gracefully handled?
  9. Are there sufficient level of unit tests/e2e tests?
  10. Is the code change generally readable?
    1. Can I get an understanding of the desired behavior just by doing quick scans through unit and acceptance tests?
    2. Do the methods do what the name of the method claims that they’ll do? Same for classes?
    3. Method is too long
    4. Method has too many parameters
    5. Deeply nested if/else controls
  11. Are general coding best practices followed?
    1. No hard coded stuff
    2. No duplications
    3. Separate of concerns
    4. Easy to extend
    5. Comments
    6. Naming convention followed

General Rules

  1. Automating the Easy Stuff
    1. Lint
    2. Test coverage
    3. Git hooks

Reference

  1. https://medium.com/@mrjoelkemp/giving-better-code-reviews-16109e0fdd36
  2. https://github.com/thoughtbot/guides/tree/master/code-review#code-review
  3. https://github.com/joho/awesome-code-review