This article introduces five most popular open source code review tools for developers in today’s Agile software development environment.
Code review is a software quality assurance activity in which one or several software engineers check a software program mainly by viewing and reading its source code. Code review is done after implementation or as an interruption of implementation. The people performing the checking, excluding the code author, are called "reviewers". The review process requires that at one of the reviewers is not the author.
Key benefits of code review are:
- Better code quality – improve internal code quality and maintainability (readability, uniformity, understandability, ...)
- Finding defects at very early stage – help find not only logical problems but also performance problems, security vulnerabilities, injected malware, ...
- Knowledge transfer – help in transferring knowledge and enable learning process in the Agile software development team
- Increase sense of mutual responsibility – increase a sense of collective code ownership and solidarity, which fits into the key Agile principle
- Suggesting better solutions – generate ideas for new and better solutions during the code review and discussion.
- Ensuring QA guidelines compliance – Code reviews can be made mandatory for some industry or some critical code
In Agile software development where development pace is fast, code review tools become more and more important as it help automate the review process to minimize the reviewing task of the code.
This is an open-source tool originating out of Google, it is built on top of the “Git version control system”. Gerrit is a lightweight solution to pre-acceptance (codebase) code review. It is exceptionally useful in project environments where all developers are trusted committers, as it gives all committers on a project a chance to check over all changes.
Gerrit is at once a “changes staging area” where they can be reviewed before being accepted into the codebase inn source control. The tool is widely used in Agile software development environment.
Key Features of Gerrit are:
- side-by-side difference viewing and inline commenting
- Integrated with Git version control system allowing authorized contributors to merge Changes to the Git repository, after reviews are done.
- Simple review workflow: contributor uploads Changes to Gerrit with Git, peers use the web browser to make reviews
Link to download: https://www.gerritcodereview.com/
ReviewBoard is a web-based code review tool with simple functionality. It gives developer the most needed functional in a code review process — the ability to make a diff and the ability to make comments. The tool is quite easy to learn thanks to its simple user interface. Today it is widely used for code review and document review by open source projects both Agile software development and traditional development.
Key Features of ReviewBoard are:
- Ability to be integrated with popular source control system such as ClearCase, Perforce, CVS, Plastic, etc.
- The code is syntax highlighted which makes it more readable
- Support for pre-commit reviews and post-commit reviews
Link to download: https://www.reviewboard.org/downloads/
Reviewable is an open-source code review tool that is head and shoulders above ReviewBoard in terms of appearance and functionality. It only works with GitHub. Reviewable has a clean and modern UI.
Key features of Reviewable are:
- It has basic functions of ReviewBoard
- More than that it allow developers perform advanced functions such as instantly comparing the diffs of any two revisions of a file
- Developers can deploy fully customizable logic that can determine when a review of code is complete, and shows in clear terms the net deltas since last time you checked regardless of if the commits were amended or rebased.
Link to download: https://reviewable.io/
Rhodecode is an open source, secure enterprise source code management tool. The tool offers as an integrated tool for Git, Subversion, and Mercurial. It is used in both Agile software and waterfall software development teams.
Key Features of Rhodecode are:
- Team Collaboration: full text search, livechat in code context
- Rhodecode offers workflow automation for faster collaboration
- Permission Management for secure software Development
- Helps you to Integrate an existing code base with new issue tracker tools
- Support large binary files
Download link: https://rhodecode.com/
5. Phabricator Differential
Phabricator Differential is the open-source code review platforms supporting Git, HG and SVN, Phabricator allows for code review, team discussion, planning, testing and coding — which runs the full gamut of the functionality that a code reviewer would expect.
Key features of Phabricator are:
- Allows to publish all repositories to mirrors
- Repositories can be hosted locally
- Scalability is possible to multiple servers
- Pre-Commit Code Review
- Helps you to build unique task forms for each department
- Customizable Task Management
Download link: https://www.phacility.com/