SonarQube简介
一、 SonarQube是什么?
1、代码质量和安全扫描和分析平台。
2、多维度分析代码:代码量、安全隐患、编写规范隐患、重复度、复杂度、代码增量、测试覆盖率等。
3、支持25+编程语言的代码扫描和分析,包含java\python\C#\javascript\go\C++等。
4、涵盖了编程语言的静态扫描规则: 代码编写规范+安全规范。
5、能够与代码编辑器、CI/CD平台集成。
6、能够与SCM集成,可以直接在平台上看到代码问题是由哪位开发人员提交。
7、帮助程序猿写出更干净、更安全的代码。
sonarqube问题修改总结
二、BUG风险
1、声明应该使用Java集合接口,而不是具体的实现类,如“LinkedList”说明:声明应该使用Java集合接口,而不是具体的实现类,如“LinkedList”
原因:定义良好的接口来隐藏实现细节。
错误示例:
解决建议:
2、实体工具类应当隐藏其构造器说明:实用工具类,静态成员的集合,其目的并非要实例化。应该没有公共构造函数。
错误示例:
修改建议:3、字符创比较上应该防止空指针异常说明:字符创比较上应该考虑到空指针异常的情况,一个变量在与字符串比较时,应当把字符串放在左边。
错误示例:
正确示例:解决Sonarqube项目中的bug总结
①:变量声明后不使用,多余变量
②:方法名、变量名不符合命名规范
例如:方法名、参数名统一使用驼峰命名法(Camel命名法),除首字母外,其他单词的首字母大写,其他字母小写,类名每个组合的单词都要大写;
③:常量命名不规范
禁止缩写。命名尽量简短,不要超过16个字符
采用完整的英文大写单词,在词与词之间用下划线连接,如:DEFAULT_VALUE。
同一组的常量可以用常量类封装在一起,便于引用和维护
④:删除无用的依赖
import中灰色的部分
⑤:禁止使用 System.intln(""); 打印内容
⑥:Controller类中不要抛出异常,需要用try,catch捕获
⑦:删除无用的注释,例如用于测试的代码
⑧:将程序中的 //TODO 尽快完成
以上信息由专业从事中国sonarqube中国总代理的华克斯于2024/4/29 12:15:24发布
转载请注明来源:http://m.tz1288.com/qynews/hksxxkj-2744076270.html