是什么 ? | : | 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 as C、C++、Objective-C、C#、Java、JavaScript、Groovy、 PL/SQL, Cobol, etc. |
开发语言 | : | Java |
官方主页 | : | https://www.sonarqube.org |
源码仓库 | : | https://github.com/SonarSource |
SonarQube
可以从7个维度检测代码质量:
1、代码行数统计
2、文档和注释统计
没有注释将使代码可读性变差,特别是当不可避免地出现人员变动时,程序的可读性将大幅下降, 而过多的注释又会使得开发人员将精力过多地花费在阅读注释上,亦违背初衷。
3、重复代码统计
程序中包含大量复制粘贴的代码是质量低下的。
4、复杂度统计
文件、类、方法3个层次的复杂度统计,如果复杂度过高将难以改变,这会使得开发人员难以理解它们, 且如果没有自动化的单元测试,对于程序中的任何组件的改变都将可能导致需要全面的回归测试。
5、单元测试覆盖率统计
6、问题严重程度分类统计
SonarQube
把问题按照严重程度分为5个等级,这样便于QA管理。
7、依赖度统计
SonarQube
可以找出循环依赖、包与包、类与类之间的相互依赖关系,可以检测自定义的架构规则,检测耦合等。
SonarQube
平台涉及到了5个对象: