sonarqube问题修改总结
二、BUG风险
1、声明应该使用Java集合接口,而不是具体的实现类,如“LinkedList”说明:声明应该使用Java集合接口,而不是具体的实现类,如“LinkedList”
原因:定义良好的接口来隐藏实现细节。
错误示例:
解决建议:
2、实体工具类应当隐藏其构造器说明:实用工具类,静态成员的集合,其目的并非要实例化。应该没有公共构造函数。
错误示例:
修改建议:3、字符创比较上应该防止空指针异常说明:字符创比较上应该考虑到空指针异常的情况,一个变量在与字符串比较时,应当把字符串放在左边。
错误示例:
正确示例:关于SonarQube社区版使用问题及解决方法
1、解决SonarQube平台数据问题
当我们在大规模使用SonarQube进行代码质量检查的时候,我们需要让开发人员每次都能看到当前特性分支的扫描分析数据,以尽快解决有问题的代码,提高代码的质量。开源版本会带来一些问题,因为不支持一个项目多分支的形式,所以我们按照特性分支的名称来生成相对应的扫描项目。(会产生很多Sonarqube项目)
虽然解决了数据不稳定的问题,但又间接的带来了一些问题。
对于SonarQube管理员来说很难管理,增加了任务负担。
总结一下如何解决问题呢?
变更代码扫描的模式,比如将每次特性分支扫描的数据关联到提交的commit信息中。
总之蕞简单的方式就是付费购买开发版、企业版。小型团队也可以使用生成多项目的方式管理。
SonarQube预置条件
1.已安装JAVA环境
2.已安装有MySQL数据库
SonarQube安装
1.数据库配置
进入数据库命令
#mysql -u root -p
2.安装sonar与sonar-runner修改sonar配置文件
编辑<install_directory>/conf/perties文件,配置数据库设置,默认已经提供了各类数据库的支持
这里使用mysql,因此取消mysql模块的注释
3.添加数据库驱动
除了Oracle数据库外,其它数据库驱动都默认已经提供了,且这些已添加的驱动是sonar支持的,因此不需要修改
4.启动服务
5.sonar中文补丁包安装
Sonarqube权限配置
禁止游客访问
全局权限设置(禁止匿名用户权限、用户组全局权限设置)
权限模板设置,即项目权限设置。
Sonarqube质量阀默认质量阀设置,没有质量阈值的项目默认采用此设置。
自定义质量阀,可以选择适用于哪些项目。
Sonarqube质量配置
这里以 Java 语言为例说明,如下是 Sonar 内置默认的质量配置(规则集合)。
规则可以根据需要进行设置,还可以选择自定义的 PMD、Checkstyle 规则配置文件。
修改自定义配置为默认。
另外,还可以或者挂起规则,注意继承的规则不可挂起。
以上信息由专业从事代理商sonarqube 中文的华克斯于2024/4/30 8:36:03发布
转载请注明来源:http://szhou.mf1288.com/hksxxkj-2744381296.html