HISS Model for Code Review
This article highlights the necessity and the process of Code Review.
Code Review is something that every software engineer has to go through in their career. Everyone understands what code review is. A code review is a peer review of code that helps developers ensure or improve the code quality before they merge and ship it. [source]
Why Code Review?
There are benefits of putting code reviews as part of the release process. Some of them are:
Ensuring Code Quality
Knowledge Transfer
Better documentation
Code Review Process
A lot of code reviewers get confused if I should skip a certain aspect of code and trust the developer. Code reviews should be effective to ensure code quality.
HISS Model of Code Review(Quality)
What ensures code quality? When I started to think about how a code reviewer should approach reviewing code, I wanted to break down the features of code to be considered for code quality. I also wanted to keep the count to a minimum so that it also reduces time. That brings me to the HISS Model to ensure code quality.
Code Health(H) - The code written should not have errors. Errors can be logical or uncaught exceptions. Exception handling needs to be done to prevent uncaught exceptions. Logical Errors can be prevented by writing unit tests.
Code Implementation(I) - The implementation should be correct with respect to requirements. Code documentation should be encouraged to make complex implementations easier to understand.
Code Standards(S) - Code reviewers should ensure that the standards and conventions are being followed. Standards can also be enforced as part of CI to some extent.
Code Sufficiency(S) - This is related to implementation. However, just making sure that the correct code is written is not enough. Code reviewers also need to make sure that code is sufficient in terms of the original requirements raised.
Did I miss something? let me know in the comments.