我正在基於單個網關頁面的asp.net網站上工作,該網頁通常處理所有請求和響應。網關頁面有很多類取決於發生了什麼,但主網關頁面中有很多代碼,分成許多方法。我知道JIT編譯器只會在需要時加載和JIT方法,因此我的方法越小越好。但是,我的問題是:如果在同一個aspx.cs文件中有數千行和數百個方法,那麼這很重要嗎?我應該嘗試將功能分解爲更小的源文件,類和名稱空間嗎?或者實際上,這不會有太大的區別,因爲.net運行時只會在每個方法需要時進行jit和加載?我很欣賞人們在這裏可能有編碼風格的貢獻,但我真的很想知道.NET在技術上做了什麼,所以我可以根據純粹的性能標準做出我的決定。非常感謝。如果我做了「重構」,我希望看到哪種性能差異?ASP.NET C#頁面大小問題
回答
沒有性能問題僅僅因爲它在單個文件中。您擁有的問題主要是維護,缺乏對編碼最佳實踐和可測試性的關注。
我會立即解僱任何使用25,000行代碼生成單個類的人。這是現代軟件開發實踐無知的跡象。
... OP並沒有說這是一個單一的類... – 2010-02-23 12:08:57
@Mitch:OP說這是一個頁面。你會怎麼打賭? – 2010-02-23 12:10:38
...我努力不去想象它...... – 2010-02-23 12:11:11
我認爲除了創建一個更易維護的解決方案之外,你不會得到任何東西。如果你有性能問題,而不是試圖繞開JIT,爲什麼不升級你的硬件。
而是專注於製作高質量,易於維護的產品,並讓JIT編譯器做到最好。
個人資料,個人資料,個人資料!
您正在擔心您可能沒有察覺到的性能問題。
我會更擔心你的代碼的可維護性。
性能差異很小,但在大多數情況下,完美的性能幾乎是不相關的。與40小時的開發人員進行小規模更改所需的時間相比,節省的毫秒數或更少。該計劃必須執行很多才是值得的。
如果是單個類,則使用'partial class'創建多個文件。如果您的aspx.cs文件中有多個類,請將每個類放入其自己的文件中。它不會實現任何性能增益,但會使您的代碼變得更加可維護
有幾件事情要注意
重構你的代碼或將多個文件中的代碼不會有任何 性能優勢,因爲所有的類都最終編譯。但它會幫助你 管理你的代碼。如果你可以管理他們,那麼沒有問題。
當一個請求被髮送到服務器時,最終回送的響應是html,並且這個html是如何生成的並不重要。
在我看來,重構或分離你的代碼到多個文件中不會提高應用程序的性能,但是會提高你的編碼性能。
- 1. 打印機頁面大小問題
- 2. 關於頁面大小的問題
- 3. wicked_pdf和wkhtmltopdf頁面大小問題
- 4. Asp.net壓縮頁面問題
- 5. asp.net登錄頁面問題
- 6. asp.net頁面定位問題
- 7. C++ priority_queue大小()問題
- 8. C#Mail.Attachment大小問題
- 9. C#調整大小問題
- 10. Xamarin Windows頁面標題字體大小問題
- 11. asp.net c#面板屏幕大小更改
- 12. Gridview列調整大小和頁面大小在asp.net
- 13. ASP.NET:TableCell大小問題
- 14. 基本的asp.net網頁調整大小問題
- 15. 頁面大小調整問題。子div不像父級div調整大小
- 16. XFS塊大小的大頁面大小
- 17. 畫布頁面大小的Facebook-C#-sdk
- 18. dashboardSidebar:頁面大小
- 19. HTML頁面大小
- 20. HTML2PDF頁面大小
- 21. FixedDocument頁面大小
- 22. HTML - 減小頁面大小
- 23. Dreamweaver縮小頁面大小?
- 24. 縮小頁面大小
- 25. ASP.net/C# SqlDataReader和小數問題
- 26. IsPostBack(ASP.NET,C#)存在一個小問題
- 27. 遇到網頁調整大小問題
- 28. 當調整大小時頁面中的表格寬度問題
- 29. KendoUi網格頁面大小性能問題
- 30. Flex數據網格打印問題,頁面大小爲
感謝您回答這個問題。 – DEH 2010-02-23 22:11:26