Sonar (Code Quality Management)

SonarQube is an open source code quality measuring and management tool. It is a static code analysis tool which includes multiple third party analysis components, embedded into the core system. SonarQube analyzes source code and calculates a set of metrics as well as recommendations to better understand and improve the code.

Some of the main features of SonarQube are summarize in Wikipedia, SonarQube:

  • Supports languages: Java (including Android), C/C++, Objective-C, C#, PHP, Flex, Groovy, JavaScript, Python, PL/SQL, COBOL, Swift, etc. (note that some of them are commercial)
  • Offers reports on duplicated code, coding standards, unit tests, code coverage, code complexity, potential bugs, comments and design and architecture.
  • Records metrics history and provides evolution graphs ("time machine") and differential views.
  • Provides fully automated analysis: integrates with Maven, Ant, Gradle and continuous integration tools (Atlassian Bamboo, Jenkins, Hudson, etc.).
  • Integrates with Eclipse, Visual Studio and IntelliJ IDEA development environments through the SonarLint plugins
  • Integrates with external tools: JIRA, Mantis, LDAP, Fortify, etc.
  • Is expandable with the use of plugins.
  • Implements the SQALE methodology to evaluate technical debt.

More details of SonarQube are described in the main tool site: SonarQube

Sonar 1