1.SonarQube的介绍
SonarQube是一个管理代码质量的开放平台
可以从七个维度检测代码的质量(为什么要用SonarQube)
(1)复杂度分布(complexity): 代码复杂度过高将难以理解 、难以维护
(2)重复代码(duplications):程序中包含大量复制粘贴的代码是质量低下的表现
(3)单元测试(unit tests):统计并展示单元测试覆盖率
(4)编码规范(coding rules):通过Findbugs,PMD,CheckStyles等规范代码编写
(5)注释(comments):少了可读性差,多了看起来费劲
(6)潜在的Bug(potential bugs):通过Findbugs,PMD,CheckStyles等检测潜在的bug
(7)结构与设计(architecture & design):依赖耦合等
Sonar 可以集成不同的测试工具,代码分析工具,持续集成工具,IDE
Sonar通过对代码质量分析结果数据进行再加工处理,通过量化的方式来度量代码质量的变化,从而可以方便地对工程进行代码质量管理
SonarQube的平台组成
(1)数据库:存放SonarQube的配置数据、代码质量的快照数据
(2)Web服务:用于查看SonarQube的配置数据、代码质量的快照数据
(3)分析器:对项目代码进行分析,生成质量结果数据并存入数据库中
(分析器有很多种,我们选用SonarQube Maven Plugin)