SonarQube的介绍

                              SonarQube的介绍
1.SonarQube简介
        SonarQube是一个用于代码质量管理的开源平台,用于管理源代码的质量。同时  SonarQube 还对大量的持续集成工具提供了接口支持,可以很方便地在持续集成中使用  SonarQube。此外, SonarQube 的插件还可以对 Java 以外的其他编程语言提供支持,对国际化以及报告文档化也有良好的支持。
   
2.SonarQube的使用范围   
        通过插件形式,可以支持包括java,C#,C/C++,PL/SQL,Cobol,JavaScrip,Groovy等等二十几种编程语言的代码质量管理与检测,针对不同的编程语言其所提供的分析方式也有所不同: 对于所有支持的编程语言,SonarQube 都提供源了代码的静态分析功能; 对于某些特定的编程语言,SonarQube 提供了对编译后代码的静态分析功能。

3.SonarQube工作原理
        SonarQube 并不是简单地将各种质量检测工具的结果(例如 FindBugs,PMD 等)直接展现给客户,而是通过不同的插件算法来对这些结果进行再加工,最终以量化的方式来衡量代码质量,从而方便地对不同规模和种类的工程进行相应的代码质量管理。 SonarQube 在进行代码质量管理时,会从图 1 所示的七个纬度来分析项目的质量。

   

 
 4.需要注意的代码质量问题
 1)不遵循代码标准--SonarQube 可以通过PMD,CheckStyle,Findbugs等等代码规则检测工具规 范代码编写。
 
 2)潜在的缺陷--SonarQube 可以通过PMD,CheckStyle,Findbugs等等代码规则检测工具检 测出潜在的缺陷。
 
 3)糟糕的复杂度分布-->文件、类、方法等,如果复杂度过高将难以改变,这会使得开发人员难以理解它们且如果没有自动化的单元测试,对于程序中的任何组件的改变都将可能导致需要全面的回归测试。
 
 4)重复-->显然程序中包含大量复制粘贴的代码是质量低下的,SonarQube 源码中重复严重的地方。
 
 5)注释不足或者过多-->没有注释将使代码可读性变差,特别是当不可避免地出现人员变动 时,程序的可读性将大幅下降而过多的注释又会使得开发人员将精力过多地花费在阅读注释上,亦违背初衷。
 
 6)缺乏单元测试 -->SonarQube 可以很方便地统计并展示单元测试覆盖率。
 
 7)糟糕的设计。
 

你可能感兴趣的:(SonarQube)