Skip to content

Instantly share code, notes, and snippets.

@mattias-p
Last active October 24, 2018 13:47
Show Gist options
  • Save mattias-p/b8b91e02be6e9878b2a38d201c7e8e59 to your computer and use it in GitHub Desktop.
Save mattias-p/b8b91e02be6e9878b2a38d201c7e8e59 to your computer and use it in GitHub Desktop.
Checklist for code reviews

Code review

Reviewing

Reliability

  • Have regression tests been added for all relevant bug reports?
  • Have unit and integration tests been added for all relevant specifications and manuals?
  • Are interfaces kept stable and backwards compatible?

Maintainability

  • Are the whys sufficiently explained?
  • Is the code simple enough not to warrant explanations of the whats?
  • Are all names intention-revealing?
  • Is Readonly being used instead of hardcoded values?
  • Is commented out code accompanied with appropriate conditions for its removal?
  • Is duplication sufficiently avoided?

Security

  • Does it validate all user inputs?
  • Does it detect and handle errors from every call?

Design

  • Does it respect the Single responsibility principle?
  • Does it respect the Open/closed principle?
  • Does it respect the Liskov substitution principle?
  • Does it respect the Interface segregation principle?
  • Does it respect the Dependency inversion principle?

Giving feedback

  • Are you trying to understand the authors perspective?
  • Are you being both clear, empathic and kind?
  • Have you identified something positive to say?
  • If you've discussed the changes elsewhere, have you posted a summary of the discussions?
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment