Disadvantages of the code review tutorial
The most common type of code review is the always-common wal-through review. It can be an over-the-shoulder review or a more formal process involving meetings, either way, walkthrough review involves the author highlighting their changes and trying to get feedback from other team members.
Although this is a popular type of review, I really feel that there are some major downsides that, in my opinion, hinder the effectiveness of the process.
A critical aspect may become apparent when the next developer needs to understand or even maintain the code. You will not have the benefit of being guided through by the author and important information is often left out of code due to the reviewer’s acceptance of what made sense when the review was written.
Step-by-step reviews tend to be quite perfunctory, with little time to search for the more subtle problems within the code. An error will be fixed when it is caught in the walkthrough, but what other code depends on it? Will it cause any behavior problems within the code? These questions can best be answered in a single review.
There is a real lack of diversity in any code walkthrough with the author leading the process and others simply clarifying that what has been said matches what has been done. This also creates a lack of depth, as it becomes a very basic confirmation process.
Meetings can be time consuming and difficult to manage when participants are separated by many time zones. It is also very easy to get distracted in these meetings, although a good moderator can mitigate this problem.
Despite the above drawbacks to reviewing reviews, they have their advantages. Because the process is carried out as a team, it is an excellent environment for new developers to learn and pass new ideas between them. There are also many instructional conversations that have the advantage of happening in person, which you don’t get in a single review.
It is also good to have multiple skills present in the room as this provides broader learning as well as review that benefits from multiple insights. So to round off I would always recommend doing a solo code review as the default mode, but don’t forget to communicate and never turn down the walkthrough option, especially if there is a member who could benefit from the experience.