1
SonarQube简介
Sonar 是一个用于代码质量管理的开源平台,用于管理源代码的质量
通过插件形式,可以支持包括
java,C#,C/C++,PL/SQL,Cobol,JavaScrip,Groovy 等等二十几种编程语言的
代码质量管理与检测
Sonar 可以从以下七个维度检测代码质量,而作为开发人员至少需要处理前
5 种代码质量问题
1. 不遵循代码标准
sonar 可以通过 PMD,CheckStyle,Findbugs 等等代码规则检测工具规
范代码编写
2. 潜在的缺陷
sonar 可以通过 PMD,CheckStyle,Findbugs 等等代码规则检测工具检
测出潜在的缺陷
3. 糟糕的复杂度分布
文件、类、方法等,如果复杂度过高将难以改变,这会使得开发人员
难以理解它们
且如果没有自动化的单元测试, 对于程序中的任何组件的改变都将可
能导致需要全面的回归测试
4. 重复
显然程序中包含大量复制粘贴的代码是质量低下的, sonar 可以展示
源码中重复严重的地方
5. 注释不足或者过多
没有注释将使代码可读性变差,特别是当不可避免地出现人员变动
时,程序的可读性将大幅下降
而过多的注释又会使得开发人员将精力过多地花费在阅读注释上, 亦
违背初衷
6. 缺乏单元测试
sonar 可以很方便地统计并展示单元测试覆盖率
7. 糟糕的设计
2
通过 sonar 可以找出循环,展示包与包、类与类之间的相互依赖关系,
可以检测自定义的架构规则
通过 sonar 可以管理第三方的 jar 包,可以利用 LCOM4检测单个任务
规则的应用情况, 检测耦合。
代码/sonar/质量/检测/测试/注释/人员/管理/规则/单元/
代码/sonar/质量/检测/测试/注释/人员/管理/规则/单元/
-->