有意义的命名(clean code 学习笔记)

2019-12-10  本文已影响0人  HelenYin

名副其实

有意义的命名

避免误导

名副其实

变量应该告诉你,他为什么会存在,他做什么事情,他应该怎么用。如果名称需要需要注释来说明,那就不算是名副其实。而且一旦发现有更好的名称,就换掉旧的。

做有意义的区分

以数字系列命名(a1, a2, .....aN),或废话远远不够,即便足以让编译器满意。如果名称必须相异,那其意义必须不同。
数字系列命名是依意义命名的对立面。
废话是另外一种没有意义的区分

Product 类
废话:
ProductInfo,ProductData (名称虽然不同,意义却无区别)

getActiveAccount()
getActiveAccounts()
getActiveAccountInfo()

使用读得出来的名称

generationTimestamp (generation timestamp)

使用可搜索的名称

避免使用编码

不用把类型或作用域编写进编码里。

避免映射思维

不应当让读者在脑中把你的名称翻译成他们熟知的名称。


类名

类名和对象名应该是名词或者名词短语,不应当是动词

方法名

方法名应该是动词或者动词短语。

别扮可爱

每个概念对应一个词

给每个抽象的概念选一个词,并且一言以蔽之。例如:使用fetch,retrieve,get来给多个类中的同种方法命名。

别用双关语

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


使用解决方案领域名称

只有程序员才会读代码,所以尽量用计算机科学术语。

使用源自所涉领域的名称

添加有意义的语境

上一篇 下一篇

猜你喜欢

热点阅读