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