第二章 有意义的命名

1、名副其实

  • 选名称应该严肃,花点时间选个好名称。名称可以长一点,只要做到名副其实。
  • 发现更好的名称可以换掉旧的。

2、避免误导

  • 避免使用容易产生误导的缩写。
  • 避免写两个不同之处很小的名称。
  • 避免使用 Ol作为名称使用

3、做有意义区分

  • 为函数参数提供名称上的区分(例如字符串拷贝函数,哪个是被拷贝的,哪个是需要拷贝的,名称上可以做出区分。)
  • 避免无意义的废话。(表名中不应该出现Table,名称字符串不应该出现NameString,应该直接是Name。)

4、使名称读得出来

  • 讨论代码的时候方便念出名字

5、使用可搜索的名称

  • 使用常量代替数字,这样方便阅读时查找。
  • 长名称胜于短名称。(查找时更容易找到。)

6、避免思维映射

  • 不应该让读者把你的名称翻译为他们熟知的名称。(例如:i,j,k一般作为循环计数器。应该避免这样的名称。)

7、类名和方法名

  • 类名应该是名词或者名词短语。
  • 方法名应该是动词或者动词短语。
  • 方法名必要时可以加上约定的前缀。(获取属性,设置属性等)

8、每个概念对应一个词,一以贯之

  • 使用同一个名称为多个类的同名方法命名。一以贯之。

9、别用双关语

  • 避免将同一单词用于不同目的

10、名称与领域

  • 尽量使用解决方案领域名称。(计算机科学)
  • 如果不能用程序员熟悉的术语命名,则应该使用源自所涉问题领域名称。

12、名称与语境

  • 添加有意义的语境。(比如几个变量整体构成一个地址,可以给所有变量加一个前缀,add)
  • 不要添加没用的语境(没有联系的名称之间,不要画蛇添足,添加语境前缀。)
posted @ 2019-12-16 22:29  江南又一春  阅读(89)  评论(0编辑  收藏  举报