Codereview Checklist Draft
Codereview Checklist Draft
Implementation
[ ] Does this code change accomplish what it is supposed to do?
[ ] Can this solution be simplified?
[ ] Does this change add unwanted compile-time or run-time dependencies?
[ ] Was a framework, API, library, service used that should not be used?
[ ] Was a framework, API, library, service not used that could improve the
solution?
[ ] Is the code at the right abstraction level?
[ ] Is the code modular enough?
[ ] Would you have solved the problem in a different way that is substantially
better in terms of the codet this functionality reused?
[ ] Are there any best practices, design patterns or language-specific patterns that
could substantially improve this code?
[ ] Does this code follow Object-Oriented Analysis and Design Principles, like the
Single Responsibility Principle, Open-Close Principle, Liskov Substitution
Principle, Interface Segregation, Dependency Injection?
Dependencies
[ ] If this change requires updates outside of the code, like updating the
documentation, configuration, readme files, was this done?
[ ] Might this change have any ramifications for other parts of the system, or
backward compatibility?
Performance
[ ] Do you think this code change will impact system performance in a negative
way?
[ ] Do you see any potential to improve the performance of the code?
Readability
[ ] Was the code easy to understand?
[ ] Which parts were confusing to you and why?
[ ] Can the readability of the code be improved by smaller methods?
[ ] Can the readability of the code be improved by different function/method or
variable names?
[ ] Is the code located in the right file/folder/package?
[ ] Do you think certain methods should be restructured to have a more intuitive
control flow?
[ ] Is the data flow understandable?
[ ] Are there redundant comments?
[ ] Could some comments convey the message better?
[ ] Would more comments make the code more understandable?
[ ] Could some comments be removed by making the code itself more readable?
[ ] Is there any commented out code?
Experts' Opinion
[ ] Do you think a specific expert, like a security expert or a usability expert,
should look over the code before it can be committed?
[ ] Will this code change impact different teams?
[ ] Should they have a say on the change as well?