findbug中问题的总结

代码的质量还是比较重要的,项目最好通过findbug检查,findbug后,如何修改,特整理了一份doc。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
FindBugs实践 1、 Bug级别 根据Bug可能导致的后果,FindBugs定义了若干Bug级别,主要的级别如下所示: Bad Practice: 不好的实践 Correctness: 正确性 Experimental Internationalization: Malicious code vulnerability: 存在漏洞的有害代码 Multithreaded correctness: 多线程正确性 Performance:性能 Security:安全 Dodgy: 欺骗性代码 2、 常见Bug以及处理办法 a) 不需要处理 May expose internal representation by incorporating reference to mutable object 描述:调用set方法,修改对象属性,被修改的对象属性是一个可变的对象; May expose internal representation by returning reference to mutable object 描述:调用get方法,获得对象属性,获得的对象属性是一个可变的对象; b) 建议处理 Dead store to local variable 描述:对一个局部变量赋值,但是这个局部变量可能不会被用到; 处理方式:确认此局部变量是否会被使用,如果确实不会被用到,请去掉; Exception is caught when Exception is not thrown 描述:调用的方法不会抛出异常,但是调用方法的时候尝试使用try catch 捕获异常; 处理方式:确认此方法的调用会不会导致异常的发生,如果不会抛出异常请去 掉try catch,确认方法调用会不会抛出异常关键是对方法调用参数的合法 性进行检查,排除调用这个方法时可能抛出异常的参数; Unread field 描述:某个对象的属性不会被读取 处理方式:确认此局部变量是否会被使用,如果确实不会被用到,请去掉,和 Dead store to local variable一样处理,只是这里针对的是不是局部变量; Call to static DateFormat 描述:调用静态的DateFormat对象 处理方式:DateFormat对象是线程不安全的,建议不要使用静态的DateFormat,但是DateFormat不会被修改的话,也可以不用修改; Class is Serializable, but doesn't define serialVersionUID 描述:类是可序列化的,但是没有定义serialVersionUID; 处理方式:自动生成serialVersionUID; Field only ever set to null 描述:Field一直被设置为null; 处理方式:检查相关filed的调用情况,看所有对Field的操作是否都是将Field设置为null; Usage of GetResource may be unsafe if class is extended 描述:如果一个类被继承了,使用getResource可能会不安全 处理方式: Unsynchronized get method, synchronized set method 描述:非同步的get方法,同步的set方法 处理方式:修改为一致的情况 Unconditional wait 描述:无条件的wait 处理方式: Switch statement found where one case falls through to the next case 描述:switch语句有case没有使用break; 处理方式: 增加break; Should be a static inner class 描述:应该是静态内部类; 处理方式: 增加static修饰符使其成为静态内部类; Private method is never called 描述:私有方法没有被调用; 处理方式:考虑将其注释掉;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值