Agile teams are self-organizing, with skill sets across the team. This is accomplished, in part, with code review. Code review helps developers learn the code base, as well as help them learn new technologies and techniques that grow their skill sets. Is that all? Nope. With the great help of code reviews, it saves bunch of time to developers!
What Does Code Review Mean?
You are a developer and you finished your development or you finished a fix for an issue and other developers take a look at your commits and consider questions like;
- Does this code has any logical errors?
- Are the requirements fully met?
- Do we need to make any change in our automated tests?
- Does the new change has any affect on the remaining part of the system?
I think if any member in the team asks this questions, that prevents poor coding decisions from polluting the main line of development and yeah, that’s really great!
What Are The Advantages Of Code Review?
I think, one of the most important property for a team should be its flexibility. When a team has a really good code review process, teams are better able to swarm around new work because no one is the “critical path.” Everyone has knowledge automatically because of the code review process.
One of the other most important reason for making code review is it is limiting the risks! Having someone double-checking our work never hurts, and limits the risk of unnoticed mistakes. Even good developers get tunnel vision sometimes.
And yes, “code review” process improves the quality of the work dramatically! First things first, let’s make something clear: this is not about standards. It’s about making code more efficient. In a team where everybody has their own background and strong suits, asking for improvements is always a good idea. Someone could suggest a smarter solution, a more appropriate design pattern, a way to reduce complexity or to improve performance.
As an instance from my side, I was using null check a lot and not I understood the importance of using “Optional” in Java. And I learned this from the comments of my team mates and also the reviews that I made. And that feeling is fantastic!
To be honest, I think that, a really good developer is not an engineer that writes a great code. A great developer is a person knows that learning is an infinite process and there are lots of things to learn in the world even you are an expert or not. In terms of that, asking for a code review is not a mark of weakness. There’s nothing embarrassing about asking for help. You should accept all feedback given to you, and offer constructive comments to people. After you get used to it, you will feel the difference 🙂