5分钟前 华南中国sonarqube安全审计即时留言「华克斯」[华克斯25b461e]内容:
sonarqube问题修改总结
二、BUG风险
1、声明应该使用Java集合接口,而不是具体的实现类,如“linkedList”说明:声明应该使用Java集合接口,而不是具体的实现类,如“linkedList”
原因:定义良好的接口来隐藏实现细节。
错误示例:
解决建议:
2、实体工具类应当隐藏其构造器说明:实用工具类,静态成员的集合,其目的并非要实例化。应该没有公共构造函数。
错误示例:
修改建议:3、字符创比较上应该防止空指针异常说明:字符创比较上应该考虑到空指针异常的情况,一个变量在与字符串比较时,应当把字符串放在左边。
错误示例:
正确示例:关于SonarQube社区版使用问题及解决方法
1、解决SonarQube平台数据问题
当我们在大规模使用SonarQube进行代码质量检查的时候,我们需要让开发人员每次都能看到当前特性分支的扫描分析数据,以尽快解决有问题的代码,提高代码的质量。开源版本会带来一些问题,因为不支持一个项目多分支的形式,所以我们按照特性分支的名称来生成相对应的扫描项目。(会产生很多Sonarqube项目)
虽然解决了数据不稳定的问题,但又间接的带来了一些问题。
对于SonarQube管理员来说很难管理,增加了任务负担。
总结一下如何解决问题呢?
变更代码扫描的模式,比如将每次特性分支扫描的数据关联到提交的commit信息中。
总之蕞简单的方式就是付费购买开发版、企业版。小型团队也可以使用生成多项目的方式管理。
使用sonarqube进行代码分析
在安装好sonarqube后,使用sonarqube对代码进行分析。
前提准备
1.准备项目
在GitHub上拉取了一个java项目,进行测试。
2.配置maven
在maven中进行配置,使maven支持sonarqube。
3.创建sonar项目登录sonarqube,在右上角找到帮助,点击帮助,在帮助中找到教程,点击分析新项目,如图所示:
创建令牌,输入令牌名点击生成,选择你要分析的项目,本文测试项目主要是java语言,使用maven构建,选择好了后在右边看到提示,右边的maven命令。
Sonarqube机器配置要求
1、2G以上内存
2、oracle jre 8或者openjdk8
3、数据库:grepSQL 8/9, sql server2014/2016, oracle 11g/12c/XE,mysql5.6/5.7
4、web浏览器:IE11,firefox蕞新版、 chrome蕞新版,safari蕞新版
5、如果使用linux平台,需要注意以下几点:
运行 SonarQube 至少要打开 65536 个文件描述符
运行SonarQube 至少打开2048 个线程