SonarQube简介
一、 SonarQube是什么?
1、代码质量和安全扫描和分析平台。
2、多维度分析代码:代码量、安全隐患、编写规范隐患、重复度、复杂度、代码增量、测试覆盖率等。
3、支持25+编程语言的代码扫描和分析,包含java\python\C#\javascript\go\C++等。
4、涵盖了编程语言的静态扫描规则: 代码编写规范+安全规范。
5、能够与代码编辑器、CI/CD平台集成。
6、能够与SCM集成,可以直接在平台上看到代码问题是由哪位开发人员提交。
7、帮助程序猿写出更干净、更安全的代码。
好用且开源的代码质量分析工具:Sonar Qube
很好几个版本:社区版、版、企业版、数据中心版。
Sonarqube 痛点
代码高质量检测分析能力,Bug 检查
支持定制化 review 检测
可以与企业员工系统的账户体系打通
与主流项目构建工具(Maven|Gradle)无缝融合
部署配置简单,文档充足
源码开源,大企业支撑(化)
关于SonarQube社区版使用问题及解决方法
1、解决SonarQube平台数据问题
当我们在大规模使用SonarQube进行代码质量检查的时候,我们需要让开发人员每次都能看到当前特性分支的扫描分析数据,以尽快解决有问题的代码,提高代码的质量。开源版本会带来一些问题,因为不支持一个项目多分支的形式,所以我们按照特性分支的名称来生成相对应的扫描项目。(会产生很多Sonarqube项目)
虽然解决了数据不稳定的问题,但又间接的带来了一些问题。
对于SonarQube管理员来说很难管理,增加了任务负担。
总结一下如何解决问题呢?
变更代码扫描的模式,比如将每次特性分支扫描的数据关联到提交的commit信息中。
总之蕞简单的方式就是付费购买开发版、企业版。小型团队也可以使用生成多项目的方式管理。
解决Sonarqube项目中的bug总结
①:变量声明后不使用,多余变量
②:方法名、变量名不符合命名规范
例如:方法名、参数名统一使用驼峰命名法(Camel命名法),除首字母外,其他单词的首字母大写,其他字母小写,类名每个组合的单词都要大写;
③:常量命名不规范
禁止缩写。命名尽量简短,不要超过16个字符
采用完整的英文大写单词,在词与词之间用下划线连接,如:DEFAULT_VALUE。
同一组的常量可以用常量类封装在一起,便于引用和维护
④:删除无用的依赖
import中灰色的部分
⑤:禁止使用 System.intln(""); 打印内容
⑥:Controller类中不要抛出异常,需要用try,catch捕获
⑦:删除无用的注释,例如用于测试的代码
⑧:将程序中的 //TODO 尽快完成
以上信息由专业从事代理商sonarqube 插件的华克斯于2025/3/19 10:37:05发布
转载请注明来源:http://szhou.mf1288.com/hksxxkj-2849245475.html