SonarQube简介
SonarQube是一个很的代码分析工具,可以帮助程序员们发现很多潜在的问题和BUG。
Sonar可以从以下维度检测代码质量。
1. 不遵循代码标准
sonar可以通过PMD,CheckStyle,Findbugs等等代码规则检测工具规范代码编写。
3. 注释不足或者过多
没有注释将使代码可读性变差,特别是当不可避免地出现人员变动 时,程序的可读性将大幅下降 而过多的注释又会使得开发人员将精力过多地花费在阅读注释上,亦违背初衷。
4. 缺乏单元测试
sonar可以很方便地统计并展示单元测试覆盖率。
Sonar-scanner为client。用于收集检查数据并且发送到server中。也就是传统的C/S关系:
好用且开源的代码质量分析工具:Sonar Qube
很好几个版本:社区版、版、企业版、数据中心版。
Sonarqube 痛点
代码高质量检测分析能力,Bug 检查
支持定制化 review 检测
可以与企业员工系统的账户体系打通
与主流项目构建工具(Maven|Gradle)无缝融合
部署配置简单,文档充足
源码开源,大企业支撑(化)
关于SonarQube社区版使用问题及解决方法
1、解决SonarQube平台数据问题
当我们在大规模使用SonarQube进行代码质量检查的时候,我们需要让开发人员每次都能看到当前特性分支的扫描分析数据,以尽快解决有问题的代码,提高代码的质量。开源版本会带来一些问题,因为不支持一个项目多分支的形式,所以我们按照特性分支的名称来生成相对应的扫描项目。(会产生很多Sonarqube项目)
虽然解决了数据不稳定的问题,但又间接的带来了一些问题。
对于SonarQube管理员来说很难管理,增加了任务负担。
总结一下如何解决问题呢?
变更代码扫描的模式,比如将每次特性分支扫描的数据关联到提交的commit信息中。
总之蕞简单的方式就是付费购买开发版、企业版。小型团队也可以使用生成多项目的方式管理。
Sonarqube衡量代码质量的几个指标
1.Bugs Bug是出现了明显错误或是高度近似期望之外行为的代码。
2.漏洞 漏洞是指代码中可能出现被hacker利用的潜在风险点。
3.安全热点 安全敏感代码需要手工审核,以便判断是否存在安全漏洞。
4.异味 代码异味会困扰代码的维护者并降低他们的开发效率。主要的衡量标准是修复它们所需的时间。
5.重复率 新代码中的重复行密度 (%),重复行数,重复代码块
6.行数 程序中代码的行数