精心设计方法签名

小心选择方法的名
  • 主要的目标是在同一个包内更容易明白和与其他类命名一致
  • 次要的目标是选择与更广泛的共识一致的名称
  • 避免很长的方法名
不要过分提供便利方法
  • 每一个方法都有自己的职责(put it weight),但是一个类巨多的方法对于学习、使用、文档化、测试以及维护是非常困难的。
避免冗长的参数列表
  • 设置 4 个及以下的参数,大多数的程序员不能记住很长的参数列表。
  • 在很长的参数列表中出现相同类型的参数,尤其有害。
下面有 3 种方式来解决冗长参数列表
  • 第一种方式是将一个方法拆分成多个方法,如果这么做需要注意是否会产生很多的方法。
  • 第二种方式是通过定义一个 helper class 将参数封装到一起。
  • 第三种方式是通过构建者模式(Builder pattern)来组合参数。
对于方法参数的类型,相比类更倾向于接口

对于方法的参数,更多的可能使用接口。例如使用 Map 来代替 HashMap,同时也可以使用 TreeMapConcurrentHashMap, 但是如果是要严格的限制类型,不能使用这种方式。

使用双元素的枚举替换boolean类型

除非 boolean 类型含义对于方法名称很清晰,枚举(Enums)能够更容易的读和写。

来源:《Effective Java》

添加新评论