07-方法(49-56)

49. 检查参数有效性

Java7 加入的 Objects.requireNonNull() 方法比较灵活且方便,因此不必再手工进行 null 检查。

image-20210217180054984

50. 必要时进行保护性拷贝

简而言之,如果一个类包含有从客户端得到或者返回到客户端的可变组件,这个类就必须保护性地拷贝这些组件。如果拷贝的成本受到限制,并且类信任它的客户端不会不恰当地修改组件,就可以在文档中指明客户端的职责是不得修改受到影响的组件,以此来代替保护性拷贝。

image-20210217180624296

51. 谨慎设计方法签名

谨慎选择方法的名称。

不要过于追求提供便利的方法。

避免过长的参数列表。目标是4个及以内。

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

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

52. 慎用重载

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

最好始终使用不同的方法名称,不适用重载机制。

53. 慎用可变参数

可变参数会带来参数数组的重新分配和初始化,性能会降低。

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

永远不要返回 null。

55. 谨慎返回 optinal

几乎永远都不适合用optional作为键、值,或者集合或数组中的元素。

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

为了正确地编写API文档,必须在每个被导出的类、接口、构造器、方法和域声明之前增加一个文档注释。

image-20210217181456023


07-方法(49-56)
https://janycode.github.io/2020/09/16/02_编程语言/01_Java/04_EffectiveJava/07-方法(49-56)/
作者
Jerry(姜源)
发布于
2020年9月16日
许可协议