The following intro is a sponsored product review for Codacy, an automated code review and code analytics tool.
As part of your current coding workflow, you probably have some kind of code analysis checklist enabled by one or more tools. For example, you might incorporate a linter, a code style checker, or even some kind of code security scan.
Well, if you want to integrate multi-featured, low effort code analysis into your workflow, then you have to check out Codacy.
Once you log in via GitHub or Bitbucket, Codacy will display a list of your repositories and from there you can choose which ones you want scanned. An initial scan will notify you of the following:
- Issues with code security
- Error prone code
- Problems with code style
- Compatibility flaws
- Unused code
- Code performance recommendations
In the following screenshot I've filtered the issues to show only JavaScript warnings:
Codacy's Issues List filtered to show only JavaScript Warnings
Depending on the language used, you've likely detected these sorts of problems using a number of different tools, which can be tedious and time consuming. But the beauty of Codacy is that your code is analyzed automatically with every commit and pull request. Fifteen languages are officially supported by Codacy (including JavaScript, PHP, Python, Ruby, and C#) along with another fifteen via community supported plugins (including CSS, CoffeeScript, TypeScript, SQL, and Shell Script).
Once inside a project's dashboard, you'll have a slew of options, including ability to view commit history, project files, and open pull requests.
Allowing Codacy to analyze everything as the default might be overkill for any given project. The Code Patterns screen from an individual project dashboard allows you to customize the analysis tools you want used for that specific repository.
Codacy lets you choose which tools you want to enable or disable for each project
If you have a configuration file already set for one of the supported tools, Codacy will pick it up automatically. But if any of the tools are new to you and your team, you can choose which rules you want to enable or disable for any of the listed tools, as shown in this screen grab from the JSHint options:
Codacy lets you choose which rules to enforce for each supported tool
And these aren't just blind suggestions. Each code rule is explained so you can make an informed decision. Very handy and educational!
Finally, one of my favourite features of Codacy is its pricing tiers. If you're part of a small startup of four users or fewer, Codacy is free forever. So you'll only get charged as your team grows.
There are so many more features I haven't touched on in this brief review, but overall I really enjoyed poking around and seeing how code analysis can be customized to my own needs or those of my team. So check out Codacy today — it could be one of the most useful and ground-breaking code tools you'll try all year!
Now on to this week's tools!