美文网首页
有意义的命名(clean code 学习笔记)

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

作者: HelenYin | 来源:发表于2019-12-10 10:41 被阅读0次

名副其实

有意义的命名

避免误导

  • 可以用一个复数来表示一组数据,别用accountList 来指定一组账号,除非他真的是一个List类型,因为List对程序员有特殊意义,所以可以用 accountGroup 或者 bunchOfAccounts或者accounts。
  • 提防使用不同之处比较小的名称。
  • 以同样的方式拼写出同样的概念才是信息。

名副其实

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

做有意义的区分

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

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

getActiveAccount()
getActiveAccounts()
getActiveAccountInfo()

使用读得出来的名称

generationTimestamp (generation timestamp)

使用可搜索的名称

避免使用编码

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

  • 成员前缀
    不要使用m__等来表明成员变量。应该把类和函数做得足够小,消除对成员前缀的需要。应当使用某种高亮或颜色来标出成员的编辑环境。
  • 接口和实现


避免映射思维

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


类名

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

方法名

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

别扮可爱

每个概念对应一个词

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

别用双关语

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


使用解决方案领域名称

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

使用源自所涉领域的名称

添加有意义的语境

相关文章

网友评论

      本文标题:有意义的命名(clean code 学习笔记)

      本文链接:https://www.haomeiwen.com/subject/oxwhgctx.html