It is well-known that developers love coding. I dare to say, there are many “geeks” out there who claim that coding is another type of art. I couldn’t agree more! It is another way of being creative, interacting and feeling amazing, especially when you see that your work can change people’s lives.
However, coding is a team effort, especially in Agile teams. Agile teams are self-organized, owning several skills and capabilities; work is decentralized across the team and knowledge sharing is ‘omnipresent’.
Code review is a great activity that results in learning, evolving and collaborating. The more communication and constructive criticism, the better coder someone can be!
Below I have stated some benefits that an Agile team can earn:
- Deep and target analysis
- Feedback on errors related to syntax, logic, security and efficiency
- Realization on how to improve someone’s coding style and learn optimization practices
- Sharing workload by selecting a code review “buddy”
- Increase in the overall quality of the product/increment as reviewing before merging will spot errors
- Relationship with your partner is strengthen
- Styles of code become similar, hence the degree of harmonization is increased
Having said the advantages, here is a list of top 5 tools that you can use (there are so many commercial and open-source tools that you can select based on your needs and technicalities).
- Crucible, by Atlassian (known and favorite!)
- GitHub, to maintain Git repositories (also ‘beloved’)
- Gerrit, open-source web-based code review tool for Java
- Phabricator, an open- source tool managing also review design
- Bitbucket, a Git solution providing collaboration and code management around the versioning of your codebase
Conclusion: The goal of code review is to improve and learn. It is neither about feeding our ego nor about feeling ‘blue’ because of mistakes. It is a wonderful ‘tool’ for self-growing and loving more what you’ve chosen as a lifetime job. Enjoy it as much as you can!
Author: Rania Alexiou.