模块的Node.js约定需要variables名称
几乎所有我在互联网上看到的Node.js代码都使用这个约定来要求模块,其中require
的返回值被赋给一个与模块同名的variables:
var path = require('path'); var url = require('url');
麻烦的是,许多模块名称是我们想要在代码中的其他地方使用variables名称的相当常见的词语,例如var path = path.join(basePath, fileName)
– 这可能会由于名称遮蔽而导致问题。
当然,我们可以为模块variablesselect一个不同的名称来避免名称冲突(例如pathModule
或者大写Path
),但是这似乎违反了惯例。 或者我们可以在代码的其他地方为variablesselect不同的名称,例如var thePath = path.join(...)
。 在这种情况下最常见的是什么?
将模块名称保持原样:这是在Node.js中通过使用variablesbla
来引用bla
模块的恕我直言的惯例。
相反,当涉及到具体的用法时,我build议对variables名更具体一些,例如:
var path = path.join(basePath, fileName);
你不这样做只是为了好玩,你为特定的原因做这个特定的文件。 例如,你想加载一个configuration文件。 然后将该variables重命名为configurationPath
或类似的东西:
var configurationPath = path.join(basePath, fileName);
有一个可变的刚刚命名的path
是相当……好吧,它并没有告诉你很多的故事。 相反, path
模块实际上是关于path
的,因此可以这样命名它。
希望这可以帮助。
PS:很可能,即使configurationPath
是一个坏名字,但这完全取决于你的情况,你的意图是什么。 我只是用它作为例子,不要从字面上理解。