2012-04-25 141 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的文件。當我需要修復一個錯誤或執行某些與用戶有關的事情時,很容易找出我需要去的地方。

我認爲如果我試圖爲所有這些文件提供聰明的名字,當它們全部實現相關事物的不同方面時,這會令人困惑。