Thinking Craftsman Code Review Checklist
For file /class
- Dead/Redundant code
- Duplication
- Is there Global State ?
- (singleton, static variables, global variables)
- Dependencies
- ( added/changed )
- Is it Tell or Ask ?
- Is Inheritance Correct ? (Liskov Substitution)
For Each function
- Complexity
- (Cyclomatic, Large functions, Block depth)
- Assumptions and Side effects
- Law of Demeter Violations
- Is it Handling Errors ?
- Is it easy to Misuse ?
- Is it “failing fast” ?