好用且开源的代码质量分析工具:Sonar Qube
很好几个版本:社区版、版、企业版、数据中心版。
Sonarqube 痛点
代码高质量检测分析能力,Bug 检查
支持定制化 review 检测
可以与企业员工系统的账户体系打通
与主流项目构建工具(Maven|Gradle)无缝融合
部署配置简单,文档充足
源码开源,大企业支撑(化)
sonarqube问题修改总结
一、代码复杂度问题
1、类的复杂度过高。
说明:Split this class into smaller and more specialized ones to reduce its dependencies on other classes from 24 to the maximum authorized 20 or less.
原因:类之间的耦合度过高,引用了太多其他的类,
错误示例:
修改建议:根据面向对象的单一职责进行设计,进行降耦。
2、多重循环嵌套
说明:代码块中包含多个if、for、while、switch,影响阅读,难以维护
错误示例
Sonarqube衡量代码质量的几个指标
1.Bugs Bug是出现了明显错误或是高度近似期望之外行为的代码。
2.漏洞 漏洞是指代码中可能出现被hacker利用的潜在风险点。
3.安全热点 安全敏感代码需要手工审核,以便判断是否存在安全漏洞。
4.异味 代码异味会困扰代码的维护者并降低他们的开发效率。主要的衡量标准是修复它们所需的时间。
5.重复率 新代码中的重复行密度 (%),重复行数,重复代码块
6.行数 程序中代码的行数
Sonarqube集成
下面是SonarQube与其他sonarqube ALM工具如何集成以及SonarQube各种组件在何处被使用。
1)开发在IDE开发代码并使用sonarlint运行本地分析
2)开发把代码提交到SCM工具中:git, SVN, TFVC, ...
3)持续集成服务器触发自动编译以及执行SonarQubeScanner
4)SonarQubeServer 处理分析报告
5)SonarQubeServer 处理并存贮分析报告到数据库里并在页面上显示处理结果.
6)开发审查解决他们的问题,在页面管理问题
7)管理者获得分析报告
Ops 可以使用API从 SonarQube抽取数据
Ops 可以使用 JMX 监控 SonarQubeServer.
以上信息由专业从事中国sonarqube 插件的华克斯于2024/4/30 9:30:35发布
转载请注明来源:http://szhou.mf1288.com/hksxxkj-2744459606.html