SonarQube
1.1、SonarQube简介
是什么 ?:the most popular code quality and security analysis platform. With the support of the open-source community, Sonarqube presently can analyze and produce outputs for over 25 programming languages such asCC++Objective-CC#JavaJavaScriptGroovy、 PL/SQL, Cobol, etc.
开发语言:Java
官方主页:https://www.sonarqube.org
源码仓库:https://github.com/SonarSource
1.2、SonarQube能干什么

SonarQube可以从7个维度检测代码质量:

1、代码行数统计

2、文档和注释统计

没有注释将使代码可读性变差,特别是当不可避免地出现人员变动时,程序的可读性将大幅下降, 而过多的注释又会使得开发人员将精力过多地花费在阅读注释上,亦违背初衷。

3、重复代码统计

程序中包含大量复制粘贴的代码是质量低下的。

4、复杂度统计

文件、类、方法3个层次的复杂度统计,如果复杂度过高将难以改变,这会使得开发人员难以理解它们, 且如果没有自动化的单元测试,对于程序中的任何组件的改变都将可能导致需要全面的回归测试。

5、单元测试覆盖率统计

6、问题严重程度分类统计

SonarQube把问题按照严重程度分为5个等级,这样便于QA管理。

7、依赖度统计

SonarQube可以找出循环依赖、包与包、类与类之间的相互依赖关系,可以检测自定义的架构规则,检测耦合等。

1.3、SonarQube的架构

SonarQube平台涉及到了5个对象:

1.4、SonarQube插件
1.5、SonarQube配置