An effective code review prevents bugs and errors from getting into your project by improving code quality at an early stage of the software development process.
In this post, we’ll explore popular code review tools that can work to speed up and simplify your workflow.
1. Review Board
The Python programming language and its installers, MySQL or PostgreSQL as a database, and a web server are the prerequisites to run Review Board on a server.
You can integrate Review Board with a wide range of version control systems — Git, Mercurial, CVS, Subversion and Perforce. You can also link Review Board to Amazon S3 for storing screenshots directly in the tool.
Review Board lets you perform both pre-commit and post-commit code reviews depending on your requirements. If you haven’t integrated a version control system, you can use a diff file to upload code changes to the tool for a review.
A graphical comparison of changes in your code is also provided. In addition to code reviews, Review Board lets you conduct document reviews too.
The first version of Review Board came out over a decade ago, but it’s still in active development. Therefore, the community for Review Board has grown over the years and you will likely find support if you have any issues using the tool.
Review Board is a simple tool for code reviews, which you can host on your server. You should give it a try if you do not wish to host your code on a public website.
Crucible is a collaborative code review tool by Atlassian. It is a commercial suite of tools that allows you to review code, discuss plans changes, and identify bugs across a host of version control systems.
Crucible provides two payment plans, one for small teams and the other for enterprises. For a small team, you need to make a one-time payment of $10 for unlimited repositories limited to five users. For large teams, the fees start at $1100 for ten users and unlimited repositories.
Both these plans offer a 30-day free trial without the need for a credit card.
Similar to Review Board, Crucible supports a large number of version control systems — SVN, Git, Mercurial, CVS, and Perforce. Its primary function is to enable you to perform code reviews. In addition to overall comments on the code, it allows you to comment inline within the diff view to pinpoint exactly what you’re referring to specifically.
Crucible integrates well with Atlassian’s other enterprise products like Confluence and Enterprise BitBucket. However, you will possibly get the most benefits from Crucible by using it alongside Jira, Atlassian’s Issue, and Project Tracker. It allows you to perform pre-commit reviews and audits on merged code.
If you use GitHub to maintain your Git repositories on the cloud, you may have already used forks and pull requests to review code.
GitHub has a built-in code review tool in its pull requests. The code review tool is bundled with GitHub’s core service, which provides a free plan for developers. GitHub’s free plan limits the number of users to three in private repositories. Paid plans start at $7 per month.
GitHub allows a reviewer with access to the code repository to assign themselves to the pull request and complete a review. A developer who has submitted the pull request may also request a review from an administrator.
In addition to the discussion on the overall pull request, you are able to analyze the diff, comment inline, and check the history of changes. The code review tool also allows you to resolve simple Git conflicts through the web interface. GitHub even allows you to integrate with additional review tools through its marketplace to create a more robust process.
The GitHub code review tool is a great tool if you are already on the platform. It does not require any additional installation or configuration. The primary issue with the GitHub code review tool is that it supports only Git repositories hosted on GitHub. If you are looking for a similar code review tool that you can download and host on your server, you can try GitLab.
Phabricator is a list of open-source tools by Phacility that assist you in reviewing code. While you can download and install the suite of code review tools on your server, Phacility also provides a cloud-hosted version of Phabricator.
You have no limitations if you install it on your server. However, you’ll be charged $20 per user per month (with an upper cap of $1000/month), which includes support. To give it a try, you can opt for a 30-day free trial.
Phabricator supports the three most popular version control systems — Git, Mercurial, and SVN. It can manage local repositories, as well as track externally hosted repositories. You can scale it to multiple servers too.
Beyond a Traditional Code Review Tool
Phabricator provides a detailed platform to have a conversation with your team members. You can either have a pre-commit review of a new team member or conduct a review on the newly submitted code. You can conduct a review on merged code too, a process that Phabricator calls as “audit”. Here’s a comparison between a review and an audit on Phabricator.
Phabricator’s additional tools help you in the overall software development cycle. For instance, it provides you with a built-in tracker to manage bugs and features. You can also create a wiki for your software within the tool through Phriction. To integrate the tool with unit tests, you may use Phabricator’s CLI tool. You can build applications over Phabricator through its API as well.
In summary, Phabricator provides you with a ton of features that help you in making your development process more efficient. It makes complete sense to opt for this tool if your project is in an early stage. If you do not have the expertise to set it up on your server, you should opt for the hosted version of the tool.
Collaborator by SmartBear is a peer code and document review tool for development teams. In addition to source code review, Collaborator enables teams to review design documents too. A 5-user license pack is priced at $535 a year. A free trial is available depending on your business requirements.
Collaborator supports a large number of version control systems like Subversion, Git, CVS, Mercurial, Perforce, and TFS. It does a good job of integrating with popular project management tools and IDEs like Jira, Eclipse, and Visual Studio.
This tool also enables reporting and analysis of key metrics related to your code review process. Moreover, Collaborator helps in audit management and bug tracking as well. If your tech stack involves enterprise software and you need support to set up your code review process, you should give Collaborator a try.
Want more tips like this? Check out our full web development resource guide.