This post belongs to this root post and may be out of context if it is read separately.
The word review means evaluate, revise, analyze. This cats for instance are making a food review:
I choose this image to illustrate the concept because somehow, a code review is very much like letting your mother taste your cheesecake. She knows how a good cheesecake is made, and can tell you what is missing or what can be done to improve your recipe.
The code review is a meeting during which the team reviews the code to detect potential improvements. And, like with the cheesecake, it is healthy that the people reviewing it are not the same that wrote it, because they will expose new points of view and assertive criticism.
At a technical level, the code review may help us recognize bad practices, code smells, errors in the logic and vulnerabilities.
But at a personal level, the code review is also very helpful. First, it sharpens our communication skills, because we need to learn how to explain our decisions and people must be able to understand us.
It also promotes the exchange and learning of knowledge, because both reading and talking about code allows us to learn and teach.
Finally, and maybe I’m getting a bit emotional here, it can make you stronger. Think about it: You’ve spent the whole week investigating what is the best cheesecake recipe, you’ve messed up your hands, you got your fingers full of cuts, and at the end there’s your little cake on the tray, and you proceed to let your mother taste it. And she loves you very much, but she will notice many faults in which you hadn’t even thought.
So for the technical level, the code review raises the bar on code quality, because our code is subject of revision and constructed around well defended technical decisions.
And for the personal level, the code review teaches us to make mistakes in front of others, accept our vulnerabilities, and improve our weakness.
Go back to the root post to read about other Agile techniques.