当前位置:主页 > 脚本语言 > NodeJS >

详解一些适用于Node.js的命名约定

时间:2021-01-14 11:16:22 | 栏目:NodeJS | 点击:

序言

There are only two hard things in Computer Science: cache invalidation and naming things.
-- Phil Karlton

我乔鲁诺?乔巴拿有一个梦想,便是要成为程序员巨星。但如果你看过我写的代码,便知道我还远远够不上“巨星”二字。我的代码中有许多不一致的命名:

  1. 常量的命名时而是全大写的(如WAIT_CONFIRM),时而是全小写的;
  2. 某个项目大部分命名用的是camel case(如TaskController),但由于数据库中的列名用了snake case(如context_id),导致项目中与数据库列有关的代码混用了camel case和snake case(如restricted_hours[new Date(timestamp * 1000).getHours()] = 1;);
  3. 同样是构造复杂对象的函数,它们的前缀可能会是build、create、make,甚至compute中的任何一个;
  4. 明明是一个数组,却用了单数的order作为变量名。

之所以如此混乱,正是因为我没有遵循一套一致的命名规则。每当我在一个项目中蹦出一些新想法时,便会跃跃欲试――不,我真的就用上了。我不曾整理过自己的命名规则(天哪我已经写了三年的JavaScript了),以至于无从判断“新想法”是否真的新――也许它是一个已经被我抛弃的规则。

为了不再深陷不一致命名的泥潭,我定下了本篇的命名规则,期望它们为以后的我指点迷津。

变量名

通用规则

变量名的单复数规则

布尔变量的命名规则

如果一个变量的值的类型为boolean,那么变量的名称应当以下列单词为前缀:

数值变量的命名规则

字符串变量的命名规则

函数名

构造型函数的命名规则

修改型函数的命名规则

类名

参考资料

The art of naming variables
Google JavaScript Style Guide
Letter case

您可能感兴趣的文章:

相关文章