2011-07-21 90 views
11

如果我將項目的所有類放在同一個命名空間中,則項目中的所有類都可用。但是如果我使用不同的命名空間,並不是所有的類都可用。我受到限制。使用名稱空間會影響性能還是編譯時間?

使用命名空間是否會影響編譯時間?由於編譯器在每個命名空間中都有較少的類,並且並非所有命名空間都在使用,所以他可能在尋找合適的類時遇到一些麻煩。

使用名稱空間會影響應用程序的性能嗎?

+2

不,它不。 –

+0

您應該根據自己的邏輯和易讀性來使用命名空間,而不是性能問題。 –

回答

13

它不會影響執行時間性能。

它可能會影響編譯時的性能,但我懷疑它是否有意義,我甚至不願意預測它會影響它。 (你有一個編譯時間太長的問題嗎?如果是這樣的話,你可能想嘗試一下,然後測量它們之間的差異......否則你真的不知道效果如果你沒有問題, t真的很重要。)

+0

如果你不關心硬實時(亞毫秒性能),你不應該擔心這一點。對人類反應時間的影響很小。我會補充說,圍繞「使用命名空間」的編碼會導致難以閱讀的代碼可能會有自己的代價。請記住收益遞減的規律......你真的需要多快,這個核心速度是否會成爲你的瓶頸?如果它是一個Web應用程序...可能不是,所以不要擔心它。 –

5

我很確定,將類放入命名空間並不會顯着影響編譯時間。

但要小心,如果將每個類放入同一個命名空間,您可能會失去邏輯項目結構。

我(和Resharper)建議使用與文件位置(對應於項目結構)相對應的名稱空間。

2

您應該根據您的邏輯和易讀性來使用命名空間,而不是性能問題。

相關問題