一款工具助你减少java代码bug
来源:互联网 发布:知之愈明 则行之愈笃 编辑:程序博客网 时间:2024/05/21 11:03
场景:
前几天收到了一封邮件,生成环境出现了“/by zero”错误,这个错误一位同事足足经过两天的排查才找到了原因,能否在上线前就尽量规避一些错误呢?
那个问题产生的原因如下:
if(Math.abs(rowRecord.getBenefitmoney())==(Math.abs(rowRecord.getAmortmoney()==null?0d:rowRecord.getAmortmoney())-Math.abs(rowRecord.getRenewalmoney()==null?0d:rowRecord.getRenewalmoney()))){
return true;
}
简单来说是:两个double型类型相加减精度问题,比如 1.3+2.3=3.59999999996 而不是3.6
对于此问题我们通过findbugs工具可以在上线前检查出来,看如下结果:
我通过findbugs工具查了一下代码的其他部分,发现默认的级别有350多个bug,大部分还是可信的bug,把检查级别调整到最严格状态竟然测出了3000多个bug.
有些很隐蔽的bug我们平时写的时候没有注意,但通过工具可以帮我们及时发现出来,避免到了上线阶段才困扰我们。
看一些例子吧:
1、double类型的数用了equals与字符串比较。
2、&&前后逻辑有问题
3、可能存在空指针问题的代码
4、仔细看看这几行代码
第2311行是不是忘了为isSuccess赋值,
是不是应该写成这样isSuccess = this.contractperiodDao.deleteAllRows(perbillCertifEntity
附件中是findbugs工具的eclipse插件,感兴趣的同学可以看下哦,希望这款工具能给你的代码提升质量,避免上线后花很多时间排查错误。
findbugs插件2.x能在eclipse3.6x以下使用,但findbugs3.x不能再eclipse3.6x以下使用,如果插件安装不上请检查eclipse版本.
myeclipse7.X 对应的是 eclipse 3.4X
myeclipse8.X 对应的是 eclipse 3.5X
myeclipse9.X 对应的是 eclipse 3.6X
findbugs下载地址:
http://sourceforge.net/projects/findbugs/files
另外还有两款工具也可以帮助我们检查代码质量:Sonarqube、PMD,有兴趣的可以百度一下。
1 0
- 一款工具助你减少java代码bug
- 一款工具助你减少java代码bug
- 这个工具可以帮你减少95%以上代码量
- 注重代码质量,减少bug
- 推荐一款Java代码Bug分析插件 FindBugs
- java时间段增加、减少工具(含代码)
- Java代码检查和bug分析工具
- 程序员如何减少代码的BUG量
- Java基础学习总结(81)——如何尽可能的减少Java代码中bug
- 养成这6个编程好习惯,助你减少90%BUG
- 养成这6个编程好习惯,助你减少90%BUG
- 养成这6个编程好习惯,助你减少90%BUG
- 带你开发一款给Apk中自动注入代码工具icodetools(开凿篇)
- 带你开发一款给Apk中自动注入代码工具icodetools(完善篇)
- 带你开发一款给Apk中自动注入代码工具icodetools(完善篇)
- 5款工具助你写出更好的Java代码
- 5款工具助你写出更好的Java代码
- 5款工具助你写出更好的Java代码
- centos ubuntu 配置ip dns
- ath9k中的EEPROM
- 沟通的艺术与处世的智慧 读书笔记
- Android组件:Fragment切换后保存状态
- 快排
- 一款工具助你减少java代码bug
- java复习(五)
- 初识EF(二)
- JS——DOM小结(二)操作节点
- java io操作整理
- [leetcode] Binary Tree Level Order Traversal
- ibatis N+1问题
- SQL中的n+1次select语句查询问题
- Android资源收集: