sonarqube问题修改总结
二、BUG风险
1、声明应该使用Java集合接口,而不是具体的实现类,如“LinkedList”说明:声明应该使用Java集合接口,而不是具体的实现类,如“LinkedList”
原因:定义良好的接口来隐藏实现细节。
错误示例:
解决建议:
2、实体工具类应当隐藏其构造器说明:实用工具类,静态成员的集合,其目的并非要实例化。应该没有公共构造函数。
错误示例:
3、字符创比较上应该防止空指针异常说明:字符创比较上应该考虑到空指针异常的情况,一个变量在与字符串比较时,应当把字符串放在左边。
错误示例:
关于SonarQube社区版使用问题及解决方法
1、解决SonarQube平台数据问题
当我们在大规模使用SonarQube进行代码质量检查的时候,我们需要让开发人员每次都能看到当前特性分支的扫描分析数据,以尽快解决有问题的代码,提高代码的质量。开源版本会带来一些问题,因为不支持一个项目多分支的形式,所以我们按照特性分支的名称来生成相对应的扫描项目。(会产生很多Sonarqube项目)
虽然解决了数据不稳定的问题,但又间接的带来了一些问题。
对于SonarQube管理员来说很难管理,增加了任务负担。
总结一下如何解决问题呢?
变更代码扫描的模式,比如将每次特性分支扫描的数据关联到提交的commit信息中。
总之蕞简单的方式就是付费购买开发版、企业版。小型团队也可以使用生成多项目的方式管理。
Sonarqube使用范围
通过插件形式,可以支持包括java,C#,C/C++、PL/SQL、Cobol、JavaScrip、Groovy、Ruby等二十五种编程语言的代码质量管理与检测,针对不同的编程语言其所提供的分析方式也有所不同: 对于所有支持的编程语言,SonarQube 都提供源了代码的静态分析功能; 对于某些特定的编程语言,SonarQube 提供了对编译后代码的静态分析功能。
SonarQube支持多种客户端集成方式,包括但不限于scanner客户端、ant、gradle、maven、jenkins、idea插件等。比较常用的为gradle和maven。
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中国总代理的华克斯于2025/5/7 9:24:04发布
转载请注明来源:http://szhou.mf1288.com/hksxxkj-2860563661.html
下一条:金山石加工承诺守信「多图」