Effective Java-方法

检查参数的有效性

  • 对于公有的方法,要用javadoc的@throws标签抛出异常

  • 非公有的方法,通常使用断言assert来检查它们的参数

必要时进行保护性拷贝

  • 保护性拷贝是在检查参数的有效性之前进行的,并且有效性检查是针对拷贝之后的对象,而不是针对原始的对象。

  • 对于参数类型可以被不可信任方子类化的参数,请不要使用clone方法进行保护性拷贝。

  • 访问方法应该返回可变内部域的保护性拷贝

  • 只要有可能,都应该使用不可变的对象作为对象内部的组件,这样就不必再为保护性拷贝操心

  • 通常使用Date.getTime()返回的long基本类型作为内部的时间表示法,而不是使用Date对象引用,是因为Date是可变的。

谨慎设计方法签名

  • 谨慎地选择方法的名称。选择与大众认可的名称相一致的名称。

  • 不要过于追求提供便利的方法。如果不能确定,还是不提供快捷为好。

  • 避免过长的参数列表。目标是4个参数,或者更少。

  • 对于参数类型,要优先使用接口而不是类

  • 对于boolean参数,要优先使用两个元素的枚举类型。

慎用重载

  • 永远不要导出两个具有相同参数数目的重载方法。

  • 如果方法使用可变参数,保守的策略是根本不要重载它。

慎用可变参数

返回零长度的数组或者集合,而不是null

为所有导出的API元素编写文档注释

猜你喜欢

转载自blog.csdn.net/weixin_34087307/article/details/86941005