2012-04-25 142 views
3

我在node.js中使用JavaScript工作了很多。我的应用程序有以下一般'类'使用。使用nodejs时的JavaScript命名约定

服务器端:

  • 模型
  • 公用事业
  • 路线

客户端(Backbone.js的):

  • 查看ŝ
  • 模型
  • 集合

的客户端是非常直接的。我将与它们相关的所有文件命名为如UserModel.js,UserView.js,UserCollection.js等。

然而,服务器端变得更加混乱。例如:

模型与MongoDB集合相关。每个模型只是各种功能的包装。如果我有一个用户集合,我有一个名为users的集合,我的模型是Users.js

库我也有例如Users.js,它与模型相互作用并包含大部分逻辑。

但是,这真的不应该被称为Users,主要是因为我现在感到困惑。

路由仅与URL相关。所以如果你有/account/我会有一个account.js路由 - 全部小写。

实用程序 - 我只有一个util.js,我没有使用太多,所以我不那么担心,命名对于它的用途和大小看起来很好。

你会如何建议命名像“库”这样的通用事物,以区分它们与模型/路线。

回答

5

您的命名约定中最重要的是一致性。只要理智和一致,你几乎可以弄清楚任何命名约定。

这就是说,在这种情况下,我的名字可能会更冗长。路径可能已经足够好了,但我宁愿看到UserRoutes.jsUserModel.js,甚至可以根据您的示例看到UserLib.js

在我的一些node.js项目中,我甚至采取了不使用.js扩展名。我的路线例如是user.routes。根据不同的扩展名,在编辑器中更改语法突出显示是很容易的。

+0

谢谢,我讨厌使用'Lib'这个词,但我认为你的观点是正确的,只要保持一致,目录就不会在命名约定上做得好。 – dzm 2012-04-27 15:22:50

1

帮助者,扩展,泛型,逻辑,存储库,管理者,调停者,沟通者......其中的任何一个?

我通常基于我用来实现它们的设计模式来命名事物。

+0

好主意,这些是更多的'控制器',但这是混乱的路线,我认为使用助手或类似的东西可能是适当的。 – dzm 2012-04-27 15:23:56

0

我其实是在做你现在正在做的事情。我有模型,路线,视图和控制器的文件夹。然后我在每个文件夹中都有一个名为user.js的文件。当我需要修复一个错误或执行某些与用户有关的事情时,很容易找出我需要去的地方。

我认为如果我试图为所有这些文件提供聪明的名字,当它们全部实现相关事物的不同方面时,这会令人困惑。