sonarQube的基本使用(四)
7.执行代码检查
用测试用户登录之后,测试用户只能看到公开的4个项目和一个私有的项目testPrj,当前该项目还没有运行过代码检查,所以没有检查结果信息。
将之前的代码检查命令在项目根目录下(与pom.xml同级)执行,执行时会进行相关插件安装。安装成功后,执行代码检查命令,这里我们用令牌代替了用户名密码。
执行成功后输出BUILD SUCCESS.
回到sonarQube,发现testPrj项目的检查结果已经出来了。但是你会发现项目名却不是testPrj,而是别名称,之前也提到过这一点,sonarQube的项目标识符不会变,但是项目名称会被代码项目名覆盖。
点击项目名进去检查总览页,打开项目信息面板我们可以看到项目标识还是testPrj,左侧绿域表示检查结果的质量阈状态,中间区域显示bug和漏洞的数量等信息。
sonarqube问题修改总结
一、代码复杂度问题
1、类的复杂度过高。
说明:Split this class into smaller and more specialized ones to reduce its dependencies on other classes from 24 to the maximum authorized 20 or less.
原因:类之间的耦合度过高,引用了太多其他的类,
错误示例:
修改建议:根据面向对象的单一职责进行设计,进行降耦。
2、多重循环嵌套
说明:代码块中包含多个if、for、while、switch,影响阅读,难以维护
错误示例
sonarqube问题修改总结
二、BUG风险
1、声明应该使用Java集合接口,而不是具体的实现类,如“LinkedList”说明:声明应该使用Java集合接口,而不是具体的实现类,如“LinkedList”
原因:定义良好的接口来隐藏实现细节。
错误示例:
解决建议:
2、实体工具类应当隐藏其构造器说明:实用工具类,静态成员的集合,其目的并非要实例化。应该没有公共构造函数。
错误示例:
修改建议:3、字符创比较上应该防止空指针异常说明:字符创比较上应该考虑到空指针异常的情况,一个变量在与字符串比较时,应当把字符串放在左边。
错误示例:
正确示例:Sonarqube源代码静态分析
有以下几种方法:
1、SonarQube Scanner for MSBuild(分析.Net projects)
2、SonarQube Scanner for Maven(从Maven启动分析)
3、SonarQube Scanner for Gradle(从Gradle启动分析)
4、SonarQube Scanner for Ant(从Ant启动分析)
5、SonarQube Scanner For Jenkins(从jenkins启动分析)
6、SonarQube Scanner(从命令行启动分析)
以上信息由专业从事中国sonarqube价格的华克斯于2024/5/6 8:10:05发布
转载请注明来源:http://m.herostart.com/qynews/hksxxkj-2747750139.html