SonarQube代码质量检查工具简介
Sonar (SonarQube)是一个开源平台,用于管理源代码的质量
Sonar 不只是一个质量数据报告工具,更是代码质量管理平台
支持Java, C#, C/C++, PL/SQL, Cobol, JavaScrip, Groovy 等等二十几种编程语言的代码质量管理与检测。
Sonar可以从以下七个维度检测代码质量,而作为开发人员至少需要处理前5种代码质量问题。
- 不遵循代码标准
- sonar可以通过PMD,CheckStyle,Findbugs等等代码规则检测工具规范代码编写。
- 潜在的缺陷sonar可以通过PMD,CheckStyle,Findbugs等等代码规则检测工具检 测出潜在的缺陷。
- 糟糕的复杂度分布文件、类、方法等,如果复杂度过高将难以改变,这会使得开发人员 难以理解它们, 且如果没有自动化的单元测试,对于程序中的任何组件的改变都将可能导致需要全面的回归测试。
- 重复显然程序中包含大量复制粘贴的代码是质量低下的,sonar可以展示 源码中重复严重的地方。
- 注释不足或者过多没有注释将使代码可读性变差,特别是当不可避免地出现人员变动 时,程序的可读性将大幅下降 而过多的注释又会使得开发人员将精力过多地花费在阅读注释上,亦违背初衷。
- 缺乏单元测试sonar可以很方便地统计并展示单元测试覆盖率。
- 糟糕的设计通过sonar可以找出循环,展示包与包、类与类之间的相互依赖关系,可以检测自定义的架构规则 通过sonar可以管理第三方的jar包,可以利用LCOM4检测单个任务规则的应用情况, 检测藕合。
为什么要选择sonarQube?
个人使用之后认为 : sonarQube的优势如下(相比于阿里编码规约这种市面上常见类似软件):
- 更加优秀的图形化界面基本上通过界面就可以对自己项目的代码状况一目了然
- 可以查询出其它软件难以定位到的问题比如 :可能导致空指针异常的问题 (对象在进行使用前没有加空的判断)可能导致内存泄漏的问题, 在try catch 块里面,直接使用e.printStackTrace()将堆栈信息打印到内存的可能导致的漏洞 : 成员变量使用public定义的还有诸如 : 流等未关闭或者是非正常关闭都能够检测出来!功能非常强大!!
安装SonarQube web server
下载sonalqube(下载社区版,是开源的),
我下载的是sonarqube-7.9.3,因为最新版7.9.1需要jdk11支持
[root@dispatch001 opt]# java -version java version "11.0.7" 2020-04-14 LTS Java(TM) SE Runtime Environment 18.9 (build 11.0.7+8-LTS) Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.7+8-LTS, mixed mode)
创建用户
继续阅读
- 我的QQ
- QQ扫一扫
-
- 我的头条
- 头条扫一扫
-
评论