Java代码缺陷自动分析工具介绍(4)
发布时间:2021-06-08
发布时间:2021-06-08
Java代码缺陷自动分析工具介绍
2.12 代码尺寸检查
测试过长的方法、有太多方法的类以及重构方面的类似问题。
2.13 终结函数检查
因为在 Java 语言中, finalize() 方法不是那么普遍,它们的使用规则虽然很详细,但是人们对它们相对不是很熟悉。这类检查查找 finalize() 方法的各种问题,例如空的终结函数,调用其他方法的 finalize() 方法,对 finalize() 的显式调用,等等。
2.14 克隆检查
用于 clone() 方法的新规则。凡是重写 clone() 方法的类都必须实现 Cloneable, clone() 方法应该调用 super.clone(),而 clone() 方法应该声明抛出 CloneNotSupportedException 异常,即使实际上没有抛出异常,也要如此。
2.15 耦合检查
查找类之间过度耦合的迹象,比如导入内容太多;在超类型或接口就已经够用的时候使用子类的类型;类中的字段、变量和返回类型过多等。
2.16 异常检查
针对异常的检查:不应该声明该方法而抛出 ng.Exception 异常,不应当将异常用于流控制,不应该捕获 Throwable,等等。
2.17 日志检查
查找 java.util.logging.Logger 的不当使用,包括非终状态(nonfinal)、非静态的记录器,以及在一个类中有多个记录器。
2.18 Open—Close检查
检查文件或通讯方面,是否忘记Close的情况。