A few years ago, software architect Surender Reddy Gutha compiled a – still quite relevant – Code Review Checklist.
All too often, when performing code reviews, we as software engineers tend to focus on minute details such as code formatting rather than the big picture, non-functional requirements, or architecture and security considerations. Perhaps, the problem already originates with the term code review:
Rather than reviewing code we are – or should be – reviewing the resulting software and the impact code changes have on the overall product, which is why terminology such as pull request or merge request for the process of reviewing software probably is more conducive to the desired outcome of working software that meets customer requirements, as well as non-functional requirements.
Surender’s code review checklist covers all of these aspects (and more) and can serve as a useful guideline when conducting code reviews.