起订:1
发货:2天内
SonarQube测试使用
测试使用
拖动一个java项目ScanningTool放到/usr/local,进入目录
在项目根目录下创建sonar-scanner配置文件sonar-perties
项目结构图
执行扫描分析
等待程序执行完毕后打开SonarQube可查看扫描信息
到此整个内网部署已完成
sonarQube的基本使用(五)
8.处理问题
点击上图bug数量位子,会进入检查结果详情界面,左侧对可以根据类型进行筛选,主区域显示该类型下的所有问题,每一条问题都会有相关描述指出问题所在。
点击问题进入问题详情,会看到问题源码,sonarQube会根据代码提交信息这自动将任务分配给相关人员,若该用户设置了检查结果提示,在执行代码检查完成后,会自动收到邮件通知,当然你也可以将这个问题指派给其他人处理。可以在该处调整问题类型。
可以在该处调整问题级别。
可以在该处编辑解决状态。
可以在该处重新指派处理人员。
点击时间信息,可以看到代码提交信息。
可以在该处添加评论。
对问题的所有变更,都能以邮件的形式通知到相关人员,点击邮件中的连接,即可直接浏览问题信息。
sonarqube问题修改总结
三、可读性问题
1、用isEmpty()去做容器的空或者非空判断。
说明:Use isEmpty() to check whether the collection is empty or not.
原因:增加可读性。
2、删除没有用的import、field、class、method。
原因:增加可维护性。
修改建议:删除无用代码块、申明、方法和引用。
3、if语句被拆分不利于可读
说明:Merging collapsible if statements increases the code's readability.
3、方法内多个return出口
错误示例:
解决建议:定义一个return,赋值,统一返回。
4、修改了入参说明:修改了入参降低了代码的可读性,丢失了原始参数的值。
错误示例:
5、用equalsIgnoreCase()方法替代字符串的无视大小写比较。
说明:Replace these toUpperCase()/toLowerCase() and equals() calls with a single equalsIgnoreCase() call.
原因:参数应当是final的
解决建议,利用一个临时变量充当需要变动的参数。