如何给变量取个简短且无歧义的名字(精减版)

1 为什么

  • 长的类名会使开发者不易声明该类型的变量。
  • 长的方法命名会使它变得晦涩难懂.
  • 长的变量命名不利于代码重用,导致过长的方法链。

2 怎么解决

2.1 目标

  • 清晰:你要知道该命名与什么有关
  • 精确:你要知道该命名与什么无关

2.2 原则

一个好的命名能够在阅读者的脑海中描画出一幅图画。而将某变量命名为”manager”并不能向读者传达任何有关该变量是做什么的信息. 它是用来做绩效评估的吗? 它是管理加薪的吗?

(a) 命名中无需含有表示变量或参数类型的单词

  • 类型说明加入到变量名中是多余的. 我们应该舍弃匈牙利命名法
  • 对于集合来说,最好使用名词的复数形式来描述其内容, 而不是使用名词的单数形式来描述. 如果开发者更在乎集合中存储的内容, 那么变量命名应当反映这一点。
  • 如果在之后的开发中觉得该命名会造成冲突或不明确,可以添加些修饰词来完善它。反之,如果一开始就取了一个很长的命名,你是不可能在之后重新回来简化它的

(b) 省略命名中可以从上下文获取的单词

  • 类中的方法/属性和方法中的变量,都是存在在上下文中的,无需重复。
  • 一个命名嵌套的层次越多, 它就有更多的相关的上下文,也就更简短。换句话说,一个变量的作用域越小,命名就越短。

(c) 省略命名中无任何含义的单词

  • 含无任何含义的单词的命名,一些开发者喜欢在命名中添加一些看起来有点严肃的单词。我猜可能他们觉得这样做可以让他们的代码显得重要,或者说让他们觉得自己更重要。
  • 有一些词语并没有实际意义,只是一些套话。比如:data, state, amount, value, manager, engine, object, entity和instance。

3 参考链接

  1. 参考链接
posted @ 2017-02-15 22:30  htoooth  阅读(201)  评论(0编辑  收藏  举报