Web 技术研究所

我一直坚信着,Web 将会成为未来应用程序的主流

变量命名不要参照自然语言

  我经常会花很长时间来思考一个变量的命名。即便如此,看看自己以前写的程序也依然是一堆奇奇怪怪的命名。并不是找到一个可以准确描述对象的单词或词组来就可以直接作为变量名用的。英文本身就充斥着歧义,变量命名应该用一种比英文更严谨的语言。
  我以前经常会使用这样的命名 var user = '次碳酸钴';
var age = 25;
  从英文的角度看,这组变量命名没有任何问题。但这组命名在使用时会造成很大的困扰。问题点在于第一个变量不应该是 user,而应该是 name。或者两个变量分别命名为 userName 和 userAge(为了统一风格)。将用户名命名为 user 带来的问题是当我们将这组数据对消化后就无法找到一个更好的命名。比如如果沿用上面这组命名,我们将会得到这么一坨东西 var userObject = {
  user: '次碳酸钴',
  age: 25
};
  由于 user 这个命名被占用,于是整个对象被命名为 userObject 之类的奇怪东西。也许有人会说,属性名和变量名又不冲突,直接命名为 user 不也行么?比如: var user = {
  user: '次碳酸钴',
  age: 25
};
  这样看起来确实没什么问题。但当我们要访问它的 user 属性时,代码就会变成一坨。 console.log(user.user); <!-- 屎一样的代码   user.name 或 user.userName 显然要比 user.user 看着顺眼得多。
  所有自然语言都是不够严谨的,用不严谨的自然语言来描述严谨的程序只会让程序也变得不严谨。我们借鉴自然语言中的单词来写程序只是为了便于阅读,不应该把自然语言中不严谨的东西也一起带到程序中来。
网名:
3.84.186.*
电子邮箱:
仅用于接收通知
提交 悄悄的告诉你,Ctrl+Enter 可以提交哦
神奇海螺
[查看全部主题]
各类Web技术问题讨论区
发起新主题
本模块采用即时聊天邮件通知的模式
让钛合金F5成为历史吧!
次碳酸钴的技术博客,文章原创,转载请保留原文链接 ^_^