December 1, 2017 Management & HR
Why Code Review Is Crucial to Software Development
Code review is the analysis of source code with the intention of finding and eliminating errors lurking within. Proper execution of code review ensures fast delivery and bug-free software. Because of that, code review should be the foundation of every software house.
Reading Time: 4 minutes
The Role of Code Review in IT Projects
The main goal of code review is to check the code for bugs, but it’s not its sole scope. Code review helps keep IT projects organized and streamlined. The more efficient the code review, the higher the quality of the developed software. If the majority of bugs are spot during software development, the time required to deploy a ready product decreases.
Code review is also useful in increasing project awareness among all team members. With the help of code review, new team members can get acquainted with a particular IT project faster, and in turn, be ready to start working on it sooner.
Similarly, code review is a good learning method for new devs, but it can be a valuable opportunity for experienced devs to learn something new as well.
As you can see, code review comes with a pack of benefits for both the software house and the client.
Who Can Perform Code Review?
Code review can be carried out by any team member. However, when new team members or junior devs perform it, their work should be double-checked by someone more experienced. Code review should never be a responsibility of just one team member, or, worse, one person in the whole company.
Studies show that the optimum number of devs responsible for carrying out code review is between 1–3.
Reviewing the Code
There are certain hardcoded objectives of code review:
- Check if the code is free of logical errors
- Compare if the goals of the code match the associated task objectives
- Evaluate if automated tests cover the newly added code
- Analyze whether currently employed tests require changes to properly cover the code
- Check if the new code meets the established style guidelines
Aside from that, every company should have its own code review checklist. Also, all developers performing code review should create lists of their own common errors. It’ll help them eliminate such errors in the future.
Custom checklists combined with general code review objectives streamline the reviewing process and allow devs to catch more errors faster.
There are multiple checklists available online that can be adapted to respond to company needs.
How We Do It
At Polcode, code review begins with securing structured and properly documented code repositories.
Every change in the code is associated with a task (we use comments or memos where direct integration isn’t available). Unit-tested code changes are reviewed by a dev team member other than the author of the changes—usually a dev team lead or the main architect of the solution.
If need be, the instructions on what to adjust in the code, in relation to previously established expectations, requirements, architecture, and design, are returned to the developer for another round of dev efforts. Where appropriate, larger changes after code review make their way back into the backlog for further reconsideration and reprioritization. If the code review goes through, code changes are merged with the previously established branch structure of a particular code repository.
With this approach, the code shipped to the Q&A team is already as bug-free as possible, which expedites the delivery of the software to the client.
Lines of Code vs. Efficiency
During code review, a reviewer should have between 200 and 400 lines of code (LOC) to check per day, with the maximum amount of code never exceeding 500 lines/day.
The efficiency of a reviewing dev plummets the more lines of code there are to check. That said, one person cannot be responsible for checking the code throughout the whole day. The optimum amount of time allotted to code review should be no more than 60 minutes per day.
Code Review Is There to Support
Aside from ensuring the quality of the code, code review is also there to provide feedback to developers. But that feedback should be used wisely.
Never limit feedback to solely its negative part. Use feedback to motivate (compliment on the job well done) and streamline operations (point out the frequent occurrence of similar errors to speed up future project delivery).
It depends on the company’s policy how the frequent occurrence of similar mistakes or obvious errors are handled. But the rule of the thumb is—the more mistakes we can avoid in the initial stages of the project, the more time and effectiveness we gain in the long run.
- Code review increases the code’s quality and decreases the number of errors in the end project
- Code review raises project awareness and helps introduce new team members to a project
- Code review is a good method to teach coding to junior devs
- Code review can be carried out by any member of the team
- Code review should not be invasive and shouldn’t delay the execution of a project
Symfony Developer at Polcode