2008-09-15 132 views
3

我正在使用ASP.NET MVC項目,每次向類文件夾添加一個類時,它都會生成很長的命名空間。C#中的命名空間#

Project = Tully.Saps.Data 
Folder = DataAccess/Interfaces 
Namespace = Tully.Saps.Data.DataAccess.Interfaces 

Folder = DataAccess/MbNetRepositories 
Namespace = Tully.Saps.Data.DataAccess.MbNetRepositories 

問題
它是最好的獨自離開命名空間和使用條款的添加到訪問或更改命名空間Tully.Saps.Data類在這個項目中的一切?

回答

1

讓他們獨自一人,並添加使用。你需要手動修改這些東西(比較難以調試,與其他項目不一致等)。

0

這真的取決於你如何處理它。如果你只打算訪問一個或兩個命名空間的成員,那麼添加「using」語句對你來說確實沒有多大作用。

如果你打算多次使用它,那麼縮小命名空間鏈可能會使事情更容易閱讀。

如果您只是想在邏輯上將文件組合在一起而不創建新的名稱空間,則您可以隨時更改名稱空間,以便它不添加新的文件夾名稱。

0

根據FxCop的,我同意:

避免命名空間有幾種類型

命名空間通常應該有超過類型。

也(這也適用於「單一命名空間」的建議 - 這是幾乎同樣爲沒有命名空間說吧)

聲明類型的命名空間

一類型應該在命名空間內定義以避免重複。

0
  • 命名空間

.Namespaces幫助我們定義我們的對象模型或我們的應用程序的一組實體的「範圍」。這使得他們成爲軟件設計決策而不是文件夾結構決策。例如,在MVC應用程序中,具有Model/View/Controller文件夾和相關命名空間是很有意義的。因此,在某些情況下,儘管文件夾結構可能與我們決定在開發中使用的命名空間模式相匹配,但這不是必需的,也可能不是我們所期望的。每個命名空間應該使用的語句這樣的情況,逐案

  • 決定

定義使用語句命名空間是基於多久該命名空間中的物體將被稱爲在一個單獨的決定代碼,不應以任何方式影響我們的命名空間創建實踐。

0

給它。這是您的IDE如何規定您的編碼風格的一個很好的例子。

0

僅僅因爲你使用的工具(Visual Studio)已經決定每個文件夾需要一個新的名稱空間並不意味着你這樣做。
我個人傾向於將我的「數據」項目作爲單個命名空間離開。如果我有一個名爲「Model」的子文件夾,我不想在Something.Data.Model命名空間中使用這些文件,我希望它們在Something.Data中。