Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用nodejs时的JavaScript命名约定_Javascript_Node.js_Naming Conventions - Fatal编程技术网

使用nodejs时的JavaScript命名约定

使用nodejs时的JavaScript命名约定,javascript,node.js,naming-conventions,Javascript,Node.js,Naming Conventions,我在node.js中更多地使用JavaScript。我的应用程序有以下常用的“类” 服务器端: 图书馆 模型 公用事业 路线 客户端(backbone.js): 观点 模型 收藏 客户端非常直截了当。我命名了所有与它们相关的文件,如UserModel.js、UserView.js、UserCollection.js等 然而,服务器端变得更加混乱。例如: 模型与MongoDB集合相关。每个模型只是各种功能的包装器。如果我有一个users集合,我有一个名为users的集合,我的模型是user

我在node.js中更多地使用JavaScript。我的应用程序有以下常用的“类”

服务器端:

  • 图书馆
  • 模型
  • 公用事业
  • 路线
客户端(backbone.js):

  • 观点
  • 模型
  • 收藏
客户端非常直截了当。我命名了所有与它们相关的文件,如UserModel.js、UserView.js、UserCollection.js等

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

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

我还有一些库,例如
Users.js
,它们与模型交互并包含大部分逻辑

然而,这真的不应该被称为
用户
,主要是因为我现在感到困惑

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

实用程序-我只有一个util.js,我不怎么使用它,所以我不太关心它,而且根据它的用途和大小,命名似乎很好


您建议如何命名类似于“库”这样的泛型事物,以区别于模型/路由。

帮助程序、扩展、泛型、逻辑、存储库、管理器、中介器、通信器……任何这些


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

我实际上是在做你现在正在做的事情。我有模型、管线、视图和控制器的文件夹。然后在每个文件夹中都有一个名为user.js的文件。当我需要修复一个bug或者实现一些与用户相关的东西时,我很容易就知道我需要去哪里


我认为,如果我试图为所有这些文件提供聪明的名称,而它们都实现了相关事物的不同方面,那会让人感到困惑。

命名约定中最重要的是一致性。你可以想出几乎任何命名约定,只要它是理智和一致的

尽管如此,在这种情况下,我的名字可能会更加冗长。路径可能已经足够好了,但我更希望根据您的示例看到
UserRoutes.js
UserModel.js
,甚至可能看到
UserLib.js


在我的一些node.js项目中,我甚至习惯于不使用.js扩展名。例如,我的路由是
user.routes
。根据不同的扩展更改编辑器中的语法高亮显示是很容易的。

谢谢,我讨厌使用“Lib”一词,但我认为你的观点是正确的,只是保持一致,目录本身并不能很好地完成命名约定。好主意,这些是更多的“控制器”,但这会与路由混淆,我认为使用Helper或类似的工具可能是合适的。