多平台统一管理软件接口,如何实现多平台统一管理软件接口
518
2023-01-16
spring boot使用sonarqube来检查技术债务
作为代码质量检查的流行工具,比如Sonarqube能够检查代码的“七宗罪”,跟代码结合起来能够更好地提高代码的质量,让我们来看一下,刚刚写的Springboot2的HelloWorld的代码有什么“罪”。
Sonarqube
Sonarqube可以使用docker版本快速搭建,可以参看一下Easypack整理的镜像,具体使用可以参看如下链接,这里不再赘述:
https://hub.docker.com/r/liumiaocn/sonarqube/
环境假定
本文使用到的sonarqube为本机32003可以访问到的服务。
扫描方式
可以使用sonar-scanner或者mvn sonar:sonar的方式对代码进行扫描,因为这里不是sonarqube的展开,只是解释如何与之进行集合,这篇文章使用更为便利的方式即mvn sonar:sonar。
使用命令:mvn sonar:sonar -Dsonar.host.url=http://localhost:32003
如果使用缺省的9000端口,-D可以不必使用,虽然这里都可以指定,为了避免初入者进坑太多,这里还是尽可能的一切从简。
结果确认
扫描结果确认
确认之后发现,有一个Bugs&Vulnerabilities。我们来确认一下相关详细信息:
然而,这是一个误报,详细可参看:
https://stackoverflow.com/questions/37071032/sonarqube-close-this-configurableapplicationcontext-in-spring-boot-project
对应措施
因为此行是一个误报,所以直接在该行添加//NOSONAR即可除外。另外为了验证其效果,我们添加一行:String msg = “Unused Message variable”;
再执行&结果确认
使用命令:mvn sonar:sonar -Dsonar.host.url=http://localhost:32003
可以看到,Bugs已经没有了,但是因为增加的一行,出现了两个Code Smells的问题。
具体确认详细信息:
因为Sonar认为此行代码没有被使用到,所以是无用的语句应该删除。当然这里的分析,即使没有使用springboot的框架,只要是通过maven进行整合的方式都是可以的。
代码覆盖率
但是需要注意到,这里没有代码覆盖率,在下篇文章中将介绍如何在Spring boot的项目中通过Jacoco与之结合来引入代码覆盖率的确认。
小结
使用SonarQube可以很好的检查出代码的问题,但是在实际的项目中需要进行裁剪和定制,扫出来的不一定有问题,没有扫出来也不一定万事大吉,但是一定程度的代码规范和质量提高还是很有用处,实际在使用的时候应该根据具体情况进行实施。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我们的支持。如果你想了解更多相关内容请查看下面相关链接
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~