命名流程

它为什么会存在,做什么事、应该怎么用

类名

在我看来,类名是一种类型的抽象,但我们无法直接得到这种抽象。这就好比我们不可能根据生物的种类、科目而决定生物的演化;决定生物的形成。恰恰相反,我们是先通过多种生物进而进一步进行的抽象。
举个例子:先有狗再有的犬科,而不是先有犬科,大自然(或者造物主)根据犬类的规范创建的狗的实例。
综合上述的表达,可以由实例进行引导出抽象,也就是类的形成。所以类必须依托于其实例,其这个实例能在业务中使用。那么这个实例的抽象就只能是名词,因为根据语言学的知识,主语、宾语都是名词形式。

  1. 根据实例被用到的地方以及主动或被动动作想出3个名词
    1. 生活或者专业术语
    2. 上下文越多名词越长
  2. 列出这些名词可能属性和行为
  3. 选出属性最少、行为最少、长度最短的名词作为类名

方法签名(包括返回值)

这里方法的参数列表和返回值要根据重构来确定,所以只讨论方法名

  1. 行为是目标的主语或宾语。如果不是则证明方法的位置错了
  2. 不要带返回值类型和参数类型类型(单复数参考变量名)
  3. 使用静态工厂方法创建优于构造器创建

接口名

形容词

变量名

类实例

直接使用类名的小写,不区分可数名词与不可数名词

基础类型(包括包装类型)

  1. 一般不使用局部变量名称,尝试将其封装在类的属性中通过实例获取
  2. 状态位、标志位 采用方法化 -> 实例化

容器实例

这里区分下类是 可数名词和不可数名词

  1. 可数名词时
    1. 加入上下文条件 xxxsWith(过滤项),注意上下文不是类型!
    2. 无过滤上下文直接按复数表达
  2. 不可数名词时
    一律加the表示强调!