名副其实
有意义的命名
避免误导
- 可以用一个复数来表示一组数据,别用accountList 来指定一组账号,除非他真的是一个List类型,因为List对程序员有特殊意义,所以可以用 accountGroup 或者 bunchOfAccounts或者accounts。
- 提防使用不同之处比较小的名称。
- 以同样的方式拼写出同样的概念才是信息。
名副其实
变量应该告诉你,他为什么会存在,他做什么事情,他应该怎么用。如果名称需要需要注释来说明,那就不算是名副其实。而且一旦发现有更好的名称,就换掉旧的。
做有意义的区分
以数字系列命名(a1, a2, .....aN),或废话远远不够,即便足以让编译器满意。如果名称必须相异,那其意义必须不同。
数字系列命名是依意义命名的对立面。
废话是另外一种没有意义的区分
Product 类
废话:
ProductInfo,ProductData (名称虽然不同,意义却无区别)
getActiveAccount()
getActiveAccounts()
getActiveAccountInfo()
使用读得出来的名称
generationTimestamp (generation timestamp)
使用可搜索的名称
避免使用编码
不用把类型或作用域编写进编码里。
- 成员前缀
不要使用m_
,_
等来表明成员变量。应该把类和函数做得足够小,消除对成员前缀的需要。应当使用某种高亮或颜色来标出成员的编辑环境。 -
接口和实现
避免映射思维
不应当让读者在脑中把你的名称翻译成他们熟知的名称。
![](https://img.haomeiwen.com/i4238751/90f618db04352c65.png)
类名
类名和对象名应该是名词或者名词短语,不应当是动词
方法名
方法名应该是动词或者动词短语。
别扮可爱
每个概念对应一个词
给每个抽象的概念选一个词,并且一言以蔽之。例如:使用fetch,retrieve,get来给多个类中的同种方法命名。
别用双关语
避免将同一词用于不同的目的
![](https://img.haomeiwen.com/i4238751/41a3a1210330a915.png)
使用解决方案领域名称
只有程序员才会读代码,所以尽量用计算机科学术语。
使用源自所涉领域的名称
添加有意义的语境
![](https://img.haomeiwen.com/i4238751/a83a06778a63423a.png)
网友评论