如果我正在處理一個類和一個公共結構(不是嵌套的),我應該爲結構創建一個單獨的.cs文件嗎?或者讓它不嵌套在類的.cs文件中? (這是假設結構涉及類,但也不是那麼專屬,它應該被嵌套和聲明爲private類)C#:與相關類相同的.cs文件中的嵌套結構?
編輯:我打消了我最初的問題大概有兩班,因爲我發現C# classes in separate files?
如果我正在處理一個類和一個公共結構(不是嵌套的),我應該爲結構創建一個單獨的.cs文件嗎?或者讓它不嵌套在類的.cs文件中? (這是假設結構涉及類,但也不是那麼專屬,它應該被嵌套和聲明爲private類)C#:與相關類相同的.cs文件中的嵌套結構?
編輯:我打消了我最初的問題大概有兩班,因爲我發現C# classes in separate files?
注意,只有人能準確回答這個問題的是你,和你的團隊。如果你的團隊很高興在單個文件中找到幾種相關的類型,那麼......由於......無論如何......那麼我或任何其他人所說的應該是......無關緊要。
在任何情況下,我會變成這個問題顛倒:
和我還沒有想出了一個很好的理由。
有擴展/加載項到Visual Studio,您可以在相應的名稱,並快速定位到該文件,我能想到的三個,但毫無疑問的人:
第一個允許您快速定位到由名稱的文件。如果你知道類型,但是讓人們將多種類型放入同一類型,那麼這根本就沒有幫助。
第二個和第三個讓您按名稱導航到某個類型,但不應該依賴具有這些類型的人或知道如何使用它們。
爲此,我會主張遵循以下規則:
這取決於你問誰。
我個人覺得更容易閱讀,如果他們都在,一如既往地爆發了。然而,編譯器並不在乎......所以無論你和你的團隊認同什麼都會更容易理解。
在我看來,避免這種情況是一種很好的做法。有一天,一個開發商將在項目ClassBar
可以環顧四周,因爲它是嵌套在ClassFoo.cs
工具,比如ReSharper的有一個整潔的功能,您可以只選擇一類將不能夠很容易地找到它,點擊右鍵,放置在新文件中以使其更容易。
如果你讀過任何流行的編碼標準(蘭斯亨特■設計,框架設計指南等)大多主張每個文件1班。
它討厭向下滾動和搜索多少個類each.cs文件包含/隱藏。
同時使用版本控制
可用性與我們的團隊可維護性問題。
檢查here更多有趣的討論。
我認爲這是不太是否可以或者是否應。對於這樣的事情,我覺得最好在代碼庫的其餘部分查看約定。有時順從會更好,因爲它讓其他開發人員的工作變得更加輕鬆,因爲每個人都知道事情的發展。
如果是全新的項目,你自己在這裏設置的標準,做對你有意義。對我來說,如果結構在相關類之外沒有用處,我可以把它們放在同一個文件中。否則,我把它們分開。
+1一些好點 – BrokenGlass 2011-03-18 20:21:31
總是有右鍵點擊「Go To Definition」 。 – 2011-03-18 21:15:14
+1我們將永遠擁有巴黎。 – 2011-03-18 21:18:32