在阅读Kafka和RocketMQ对比的文章中,看到一些有关质量的话题,通过IntelliJ的FindBugs插件进行静态代码扫描,相较于sonar更加轻巧,更适合「单元测试」阶段进行。

《Apache顶级项目阿里RocketMQ》 - 利用Findbugs扫描代码漏洞,指导规范编码。

同样阿里开源的Alibaba Java Coding Guidelines,比起FindBugs更符合国人习惯(提示为中文)。

这类静态代码扫描,可以由测试人员推动,加入开发流程中,较早(commit时)介入保证代码质量;最后集成时再通过sonar配置规则进行更加全面的静态代码扫描。

出现时间,FindBugs更早一些,这里对FindBugs进行简单记录。

A、安装插件

  1. IntelliJ Plugins安装FindBugs-IDEA
  2. 选中model鼠标右键,选择FindBugs,选择粒度进行分析

B、根据分类进行分析

可以通过setting对FindBugs-IDEA进行详细设置,继续安装扫描插件,配置详细规则等。

C、maven集成

在pom.xml中添加相关依赖和插件。

<reporting><plugins><plugin><groupId>org.codehaus.mojo</groupId><artifactId>findbugs-maven-plugin</artifactId><version>3.0.5</version></plugin></plugins>
</reporting><dependency><groupId>org.codehaus.mojo</groupId><artifactId>findbugs-maven-plugin</artifactId><version>3.0.5</version>
</dependency>

FindBugs是对编译后文件进行分析,而不是分析java源代码,所以使用mvn site即可。会在target生成findbugsXml.xml文件,在target/site目录下会生成findbugs.html文件列出相关java文件的问题。


参考:

FindBugs™ Manual

FindBugs Bug Descriptions

FindBugs Maven Plugin

idea findbugs使用_「测试」 - 静态测试 amp; FindBugs相关推荐

  1. tomcat 不支持put 高版本_「MG6_DCT280」湿式七档双离合版本-性价比并不高

    上汽名爵_MG6定义为「掀背式运动轿车」,设计感很有些英伦风格,性能也确实可圈可点.然而这台车只有MT版本值得选择,即使在新款升级"DCT280"湿式七档双离合变速箱后也不例外.因 ...

  2. ps抠头发插件_「福利」PS抠图神级插件——VertusFluid Mask

    有小伙伴跟我咨询一些摄影技巧,摄影后期,旅游攻略等方面的问题,以前都是谁问我我回答一次,后来发现同一个问题不止一个人问,所以就建个群! 粉丝群:QQ群:212183200 微信群请点击微信公众号:鸟看 ...

  3. 用typescript完成倒计时_「干货」将数十万行CoffeeScript代码迁移到TypeScript

    作者 | David Goldstein 译者 | 王强 策划 | 小智 转发链接:https://mp.weixin.qq.com/s/TK7kWXX4hR3e-jtpVMuBnw 序言 2017 ...

  4. java正则匹配英文句号_「正则表达式」王国奇遇记

    第一回 初来乍到 NPC: "欢迎来到正则表达式的国度,勇士!这里的每一个人都使用正则表达式,我是这里的 NPC,每一个来到这里的人都将由我代为介绍正则世界的规则,至于能领悟到何种境界,就看 ...

  5. 请求失败或服务未及时响应 有关详细信息_「干货」从零开始的微服务搭建之路...

    随着公司的业务发展,有幸经历了从单体应用迁移到分布式应用,又从分布式应用开始准备搭建微服务应用,以下是公司从零开始搭建微服务的过程,记录并分享出来,希望对大家有所帮助,我们先使用Spring Clou ...

  6. 宝塔面板服务器ip地址修改_「网站」快速搭建服务器环境及网站

    目录:「NAS」我的搭建NAS全过程 在文章开头我想说明的是,此文章中所使用的工具为 BT 面板即宝塔面板,适合小白使用 但是对于想要提升个人能力来说, BT 面板并不是一个好选择,而作为新手来说,可 ...

  7. 两个iphone怎么大量传照片_「唯物」传个视频到 iPhone,有了新方法

    出个难题:老婆用 iPhone 刚录的视频,想传到老公 Android 手机上,或者反方向老公传给老婆,有什么简便方法? 以下两个,可能是普通人最容易想到的: 有网的话,通过云存储中转:iPhone ...

  8. java决策树算法_「Smile」一下,轻松用Java玩转机器学习

    金磊 发自 凹非寺 量子位 报道 | 公众号 QbitAI Smile,如其名,会是一个让你「笑着用」的好工具. 它的全名叫做 Statistical Machine Intelligence and ...

  9. android string拼接字符串_「JAVA」细述合理创建字符串,分析字符串的底层存储,你不该错过...

    Java基础之字符串操作--String 字符串 什么是字符串?如果直接按照字面意思来理解就是多个字符连接起来组合成的字符序列.为了更好的理解以上的理论,我们先来解释下字符序列,字符序列:把多个字符按 ...

最新文章

  1. 成熟的男人思考的东西
  2. Xamarin.FormsShell基础教程(2)创建Shell解决方案
  3. 通讯线路物理层编码类型总结(NRZ,MLT-3,4B/5B,8B/10B,64B/66B...)
  4. vue js 工具方法封装js 文件
  5. Python:通过获取淘宝账号和密码的实验,来看登陆方式选择的重要性
  6. PanguVR获得400万种子轮融资,提供高效的VR家装解决方案
  7. 反编译android sdk,反编译apk,修改sdk文件,重新签名
  8. linux文件是否锁定,linux 文件锁定
  9. 网易校招编程题------最长公共子括号序列
  10. python改变像素点颜色_更改像素颜色Python
  11. 运动会加油稿计算机学院150字,学校运动会加油稿150字
  12. 关于DNS污染问题的通用解决方案
  13. 一文读懂自然语言处理NLP (简单详细的综述)
  14. 百度地图API(WEB端/JavaScript API)--实际运用与扩展
  15. 华为通用软件开发工程师面经(业务主管面挂)
  16. 王者荣耀天赐语音包怎么获得?天赐语音包获取方法介绍
  17. 7-31 求圆周长和面积
  18. 3D打印设备的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  19. C语言用函数求圆的面积和周长,用C语言:编写两个函数,分别计算圆的面积和周长,要求在主函数中输入半径,调用函数进行计算,主函数中...
  20. mysql第五章 在线测试_PHP+MySQL实现在线测试答题示例

热门文章

  1. default argument given of parameter 的问题
  2. Oracle Enterprise Linux
  3. 一个LINUX高手写给初学者的话
  4. 以前,第二周周考总结
  5. Spring Cloud【使用jenkins持续部署】Gogs+jenkins+Docker Swarm+Protainer
  6. 异常org.xml.sax.SAXParseException; lineNumber: 5; columnNumber: 11; 注释中不允许出现字符串 --。的原因...
  7. 7、单向一对多的关联关系(1的一方有n的一方的集合属性,n的一方却没有1的一方的引用)...
  8. PowerShell 备份sharepoint站点命令
  9. 31 天重构学习笔记29. 去除中间人对象
  10. 2009年全球最佳IT十大认证