Codacy automates code reviews and monitors code quality on every commit and pull request reporting back the impact of every commit or pull request, issues concerning code style, best practices, security, and many others. It monitors changes in code coverage, code duplication and code complexity. Saving developers time in code reviews thus efficiently tackling technical debt. JavaScript, Java, Ruby, Scala, PHP, Python, CoffeeScript and CSS are currently supported. Codacy is static analysis…
I recommend it for companies that use several programming languages, as it supports several languages such as Java, Javascript, Python, among others. However, for companies that use only one programming language, there are specific tools for each language that can be more complete in this scenario. I do not recommend it for companies that only use open source software, in which case there are other tools available.
Upsource is the best review tool we've found but it still has some flaws. Notably, it makes reviewing small and quick changes less convenient than they need to be, and diff viewing (especially collaboratively) can be tedious.
It does handle larger, iterative reviews well. Especially when using a feature branch, Upsource will track that branch and automatically add all commits to the review. You can then review the branch as a whole, or look at a subset of diffs.
Creating and closing reviews isn't as quick as it could be. You must create a review, assign reviewers, approve and close. I wish there would be a quick review-approve-close for a commit where the change is simple and doesn't require multiple review iterations.
Web based interface can be clunky, especially when looking at big diffs side-by-side
JetBrains IDE integration is somehow less convenient than going using it in browser.
Even though it is paid while SonarQube is free, we chose Codacy because it is simpler to configure and maintain the implemented rules. In addition, it offers support for the main programming languages on the market, ensuring that we can continue to use it if we want to use other languages in new products.
Compared to the other tools we evaluated, Upsource was the only tool that allowed distinct reviews without needing explicit pull requests while still being able to go in-depth when required. The diff viewer is serviceable and better than the alternatives, as well, especially the side-by-side viewer.