Findbugs项目总结3

Findbugs特点:锦上添花还是弄巧成拙?
都是,都不是。因人而异。如果没有扎实的jdk知识,没有过硬的代码走读能力,是做不好这项工作的,其结果必然是弄巧成拙,把本来运行正常的系统引入新的问题。所以,对于一个能够正常运行的程序修改问题时,要尽量不动原代码,还能排除findbugs报警。比如一个类定义了equals方法而没有定义hashcode方法,那就加一个hashcode方法,方法中只写上super.hashCode();这样不会影响现有流程,还能排除报警,此时的修改保守点好。对于field原来是静态的,现在修改成普通变量的,一定要保证它们的唯一性,即单例性。对于这个问题,刚开始时我就犯了个错误,定义了一个静态变量private static CommonData commonData = null; public static CommonData getInstance()通过调用getInstance()获得唯一实例,但忘记把类中的构造方法屏蔽掉了,导致初始化时用的是构造方法生成的对象,而静态变量还是空的,这样初始化时被数据库数据赋值的对象成了昙花一现,真正后来被用到的静态变量没有初始化,后来在测试的过程中发现,数据库配置的参数没有生效,才定位出原因,差点搞出动静来。
今天上午,修改完代码后,打包,运行findbugs,分析……。结果出来了,零bug。又看了几眼确实是零bug,顿时如释重负,兴奋之余回忆了这些天发生的事,于是抽空把它们写了下来,以便对过去的一个月时光做一个了断。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值