2014-11-06 73 views
0

這個問題可能聽起來很奇怪,但是當我創建一個新項目時,它就進入了我的腦海。通過創建文件夾並嵌套文件夾或使用點創建文件夾名稱來創建名稱空間?

在Visual Studio中,我可以創建一個命名空間的層次結構如下嵌套的文件夾或我可以創建單個文件夾以點如CompanyName.Common和CompanyName.Common.Util

哪一個更有意義的長運行和大項目?或者它會比另一個更好嗎?

第二個問題是,它有多大的限制,或者是否存在7-8個嵌套命名空間的性能影響?

enter image description here

回答

2

你的名字空間的名字和你的項目文件夾結構是兩回事。

他們似乎相關,因爲Visual Studio會爲您創建一個默認命名空間名稱,每次創建一個新文件夾並根據該文件夾的名稱以及其中嵌套的其他文件夾來開始在其中創建類時。

但是,您可以將這些命名空間重命名爲任何您想要的。例如,您在「CompanyName.Common」中創建的第一個類將被賦予命名空間「TestPro.CompanyName.Common」,但如果需要,您可以將其重命名爲「MyNewNameSpace」。

從長遠來看,對於大項目來說哪一個更合理?或者它會比另一個更好嗎?

最後,您的文件夾結構只是對您最有意義的事情而已,並幫助您保持組織結構。如果您喜歡一次看到所有內容,請將其展平,然後使用內含圓點的文件夾。就我個人而言,我更喜歡嵌套文件夾,但這真的取決於你。

是否有任何限制它可以走多深或有任何性能影響有7-8嵌套命名空間?

就我個人而言,我沒有理由深入超過3個或4個文件夾。你選擇無論哪種方式,你就更有可能運行到Visual Studio中的性能問題(除非你用單個字母或一些不尋常的命名你的文件夾)前投中一windows limitation of 260 characters

在Windows API(帶以下段落中討論的一些例外情況),路徑的最大長度爲MAX_PATH,定義爲260個字符。

事實上,這並不難打(我的文件夾名稱是荒謬這裏,但我正在做的一個點;))

enter image description here

+0

是的,我意識到你可以重命名命名空間你喜歡什麼,但它沒有意義這樣做。事情在未來會變得複雜。我也使用resharper,它會抱怨如果類具有不同於文件夾結構的名稱空間。但謝謝你的建議。 – akd 2014-11-06 12:03:51

+0

我剛剛更新了與命名空間級別相關的問題。你會介意回答這個問題嗎?謝謝 – akd 2014-11-06 12:08:32

+0

是的,我也有ReSharper,所以我知道你的意思。我不確定第二個問題。我無法想象會出現性能問題,因爲文件夾結構不會被編譯或以其他方式影響最終的可執行文件。所以真的這是一個Visual Studio如何處理深層嵌套文件夾的問題。我會捅一下,看看我能否爲你找到一些東西。 – 2014-11-06 12:11:28

相關問題