《Clean Code代码整洁之道》第二章有意义的命名(下)

类名

类名和对象名

  • 名词或名词短语
  • 避免使用Manager、Processor、Data或Info这样的类名
  • 类名不应该是动词
方法名
  • 动词或动词短语
  • 属性访问器、修改器和断言应该根据其值命名,并依Javabean标准加上get、set和is前缀。
  • 重载构造器时候,使用描述了参数的静态工厂方法名
    例如:
    Complex fulcrumPoint = Complex.FromRealNumber(23.0);
    通常好于:
    Complex fulcrumPoint = new Complex(23.0);
    可以考虑将相应的构造器设置为private,强制使用这种命名手段。
别扮可爱
  • 宁可明确,毋为好玩。
    例如 别用whack()来表示kill()
    言到意到。意到言到
每个概念对应一个词

给每个抽象概念选一个词,并且一以贯之。函数名应当独一无二,而且要保持一致,这样你才能不借助多余的浏览就找到正确的方法。

别用双关语
  • 避免将同一单词用于不同目的
  • 避免同一术语用于不同概念
  • 遵循“一词一义”规则
使用解决方案领域名称

首先要记住一点:只有程序员才会读你的代码!所以,尽管用那些计算机科学术语、算法名、模式名、数学术语吧!

  • 尽量避免依据问题所涉领域来命名
    因为不该让协作者老师跑去问客户每个名称的含义
    如果不能用程序员熟悉的术语来给手头的工作命名的话
  • 采用所涉问题领域而来的名称吧
添加有意义的语境
给名称添加前缀

比如 addrFirstName、addrLastName、addrState等,以此提供语境。至少,读者会明白这些变量是某个更大结构的一部分。
不要添加没用的语境
比如有一个名为“加油豪华版”的应用,在其中给每个类添加GSD前缀就不是什么好点子了。

取好名字最难的地方在于需要良好的描述技巧和共有文化背景。与其说这是一种技术、商业或管理问题,还不如说是一种教学问题。其结果是,这个领域内的许多人都没能学会做得很好。

-47

你可能感兴趣的:(《Clean Code代码整洁之道》第二章有意义的命名(下))