Java编程最佳实践:不可变类字段应为final及避免空指针异常

不可变的班级应该是最终

Java编程最佳实践:不可变类字段应为final及避免空指针异常

不变的阶级的田野应该是最终的

带有布尔返回类型的方法返回明确的null

带有布尔类型返回返回null的返回值的方法直接返回null,这将导致NULL指针异常。

equals()方法不检查null参数

当变量调用等价方法时,对它是否为null没有判断。

Tostring方法可能返回null

Tostring方法可能返回null

班级名称应从上限字母开始

班级的名称以大写字母的名称开头

即使命名为这样

该类名称包含异常,但不是异常类的子类。这个名称会引起混乱。

令人困惑的方法名称

令人困惑的方法命名

现场名称应从较低的案例字母开始

非决赛类型的领域需要遵循骆驼命名原则

使用标识符是Java后期版本中的关键字

验证它是Java保留的关键字

使用标识符是Java后期版本中的关键字

验证是否在Java中的关键字

方法名称应以下部案例字母开头

方法名称以小写字母开头

班级名称不应阴影简单的实现接口名称

实现相同的接口实现类也不能使用相同的名称,即使它们在不同的软件包中

班级名称不应阴影超级类的简单名称

继承同一父类的子类也不能使用相同的名称,即使它们在不同的软件包中

非常令人困惑的方法名称(但也许是故意的)

方法命名很容易混淆,例如,方法的名称使用情况来区分两种不同的方法。

由于错误的包装,方法不会在超类中覆盖方法

因为它被错误地引用了具有不同套件中具有相同类名的对象,所以不可能正确覆盖父类中的方法

方法可能无法关闭数据库资源

可能无法关闭方法中的数据连接

方法可能无法关闭流

该方法可能会发生故障。

方法可能无法关闭异常流

关闭方法中的流程时可能会有例外

可疑参考比较常数

当两个是不同类型的对象时,请使用等价方法比较它们的值是否相等,而不是使用==方法。例如,两个比较的是java.lang.integer,java.lang.float

方法忽略inputstream.read()的结果

InputStream.Read方法忽略了返回的多个字符,如果未检查结果,则无法正确处理用户的请求以读取少数字符。

方法忽略了inputstream.skip()的结果

inputstream.skip()方法忽略了返回的多个字符。如果未检查结果,则无法正确处理。

方法忽略异常回报值

方法忽略返回值的异常信息

在分配的所有静态最终字段之前,静态初始器会创建实例

在分配所有静态最终字段之前,请使用静态初始化方法创建类的实例。

存储的不可序列的值存储为实例的可序列化类的字段

未审计的值存储在称为序列化的未审计字段中

比较器无法实现序列化

比较器接口不能实现可序列化接口

可序列化的内部类

序列化内部类

SerialVersionuID不是最终的

serialversionuid不是最终的

类是可序列化的,但其超类并不能定义void构造函数

序列化子类时,母类不提供空隙构造函数

类是外部化的,但不能定义void构造函数

外部化实例类未定义void类型构造函数

必须使用对象的返回类型来声明读取方法。

ReadResolve从流中读取类的实例,此方法必须声明类型对象的对象。

瞬态字段不是由避难所设置的。

不需要估算的字段不声明瞬态

类是可序列化的,但不能定义serialversionuid

一类实现可序列化接口,但不能定义串行versionuid类型的变量。序列化运行时使用称为serialversionuid的版本号与每个序列化类相关联,该类在避难所中使用,以验证为对象加载的序列化对象的发件人和接收器。序列化兼容类。如果接收器加载对象类的串行versionuid不同于相应的发件人的版本号,则测试序列化将导致无效的classexception。可序列化类可以通过声明名为“ serialversionuid”字段来明确声明自己的serialversionuid(该字段必须是一个静态的,最终的长字段)。

如果上课扩展,则使用getResource可能不安全

请勿使用this.getClass()。getResource(...)在班级继承后获得资源。

Findbugs:介绍和使用

Findbugs规则组织:正确性

Findbugs规则组织:样式和狡猾

Findbugs规则组织:恶意代码漏洞

Findbugs规则组织:多线程正确性

Findbugs规则组织:安全与实验

Findbugs规则组织:性能

Findbugs规则组织:国际化

在整合以下文章的过程中,发现了一些翻译误差,并得到了纠正。感谢以下文章的作者

Findbugs使用备忘录

Findbugs规则排序

详细说明Findbugs的各种检测器

Findbugs的比较表缺陷详细说明和英文代码名称

你可能想看:
« 上一篇
下一篇 »

相关推荐

java中什么是冒泡,冒泡算法

2026年09月06日

27阅读

java中冒号,java双冒号

2026年09月06日

26阅读

java中的->,java中的是什么意思

2026年09月06日

24阅读

java中的super用法,Java中super的说明

2026年09月06日

28阅读

java中反射的应用,java中反射的应用场景

2026年09月06日

25阅读

java中开关的定义,Java关键字有哪些

2026年09月06日

25阅读