Rule: If it's worth checking, it's worth automating
Rule: If it's worth checking, it's worth automating.
But, some checks can't be automated.
So, here are 9 things that I look for in code reviews:
1. Robustness: Is the code secure, accessible, type-safe, and efficient?
2. Edge cases: Are error handling, validation, loading states, cancellation, and notifications implemented?
3. Naming: Are functions, files, and variables named clearly?
4. Comments: Are comments clear and used appropriately?
5. Reuse: Are we using existing packages and libraries when possible instead of creating our own? Are we extracting components and functions to eliminate repeated markup and logic? Is existing code being needlessly copy/pasted?
6. Colocation: Are related files and functions stored together?
7. Decomposition: Are we decomposing big problems into small, clear pieces?
8. Consistency: Does the code feel familiar? Does it follow our established standards, patterns, and practices?
9. Tests: Are the tests clear, atomic, fast, reliable, and comprehensive?