什么是Sonar?
Sonar是一个用于代码质量管理的开源平台,用于管理代码的质量,通过插件形式可以支持二十几种语言的代码质量检测,通过多个维度的检查了快速定位代码中潜在的或者明显的错误。
它能做些什么呢?
(1) 不遵循代码标准 SonarQube可以通过PMD,CheckStyle,Find bug s等等代码规则检测工具规范代码编写。
(2) 潜在的缺陷 SonarQube可以通过PMD,CheckStyle,Find bugs等等代码规则检测工具检 测出潜在的缺陷。
(3) 糟糕的复杂度分布 文件、类、方法等,如果复杂度过高将难以改变,这会使得开发人员 难以理解它们, 且如果没有 自动化 的 单元测试 ,对于程序中的任何组件的改变都将可能导致需要全面的回归 测试 。
(4) 重复 显然程序中包含大量复制粘贴的代码是质量低下的,SonarQube可以展示 源码 中重复严重的地方。
(5) 注释 不足或者过多 没有注释将使代码可读性变差,特别是当不可避免地出现人员变动时,程序的可读性将大幅下降 而过多的注释又会使得开发人员将精力过多地花费在阅读注释上,亦违背初衷。
(6) 缺乏单元测试 SonarQube可以很方便地 统计 并展示单元测试 覆盖率 。
(7) 糟糕的设计 通过SonarQube可以找出循环,展示包与包、类与类之间的相互依赖关系,可以检测自定义的架构规则 通过SonarQube可以管理第三方的jar包,可以利用LCOM4检测单个任务规则的应用情况, 检测耦合。
安装步骤
1.jdk(1.8)
2.sonarqube:http://www.sonarqube.org/downloads/
3.Son