2010-02-23 60 views
1

我正在基於單個網關頁面的asp.net網站上工作,該網頁通常處理所有請求和響應。網關頁面有很多類取決於發生了什麼,但主網關頁面中有很多代碼,分成許多方法。我知道JIT編譯器只會在需要時加載和JIT方法,因此我的方法越小越好。但是,我的問題是:如果在同一個aspx.cs文件中有數千行和數百個方法,那麼這很重要嗎?我應該嘗試將功能分解爲更小的源文件,類和名稱空間嗎?或者實際上,這不會有太大的區別,因爲.net運行時只會在每個方法需要時進行jit和加載?我很欣賞人們在這裏可能有編碼風格的貢獻,但我真的很想知道.NET在技術上做了什麼,所以我可以根據純粹的性能標準做出我的決定。非常感謝。如果我做了「重構」,我希望看到哪種性能差異?ASP.NET C#頁面大小問題

回答

5

沒有性能問題僅僅因爲它在單個文件中。您擁有的問題主要是維護,缺乏對編碼最佳實踐和可測試性的關注。

+0

感謝您回答這個問題。 – DEH 2010-02-23 22:11:26

6

我會立即解僱任何使用25,000行代碼生成單個類的人。這是現代軟件開發實踐無知的跡象。

+0

... OP並沒有說這是一個單一的類... – 2010-02-23 12:08:57

+0

@Mitch:OP說這是一個頁面。你會怎麼打賭? – 2010-02-23 12:10:38

+2

...我努力不去想象它...... – 2010-02-23 12:11:11

0

我認爲除了創建一個更易維護的解決方案之外,你不會得到任何東西。如果你有性能問題,而不是試圖繞開JIT,爲什麼不升級你的硬件。

而是專注於製作高質量,易於維護的產品,並讓JIT編譯器做到最好。

6

個人資料,個人資料,個人資料!

您正在擔心您可能沒有察覺到的性能問題。

我會更擔心你的代碼的可維護性。

0

性能差異很小,但在大多數情況下,完美的性能幾乎是不相關的。與40小時的開發人員進行小規模更改所需的時間相比,節省的毫秒數或更少。該計劃必須執行很多才是值得的。

1

如果是單個類,則使用'partial class'創建多個文件。如果您的aspx.cs文件中有多個類,請將每個類放入其自己的文件中。它不會實現任何性能增益,但會使您的代碼變得更加可維護

0

有幾件事情要注意

  1. 重構你的代碼或將多個文件中的代碼不會有任何 性能優勢,因爲所有的類都最終編譯。但它會幫助你 管理你的代碼。如果你可以管理他們,那麼沒有問題。

  2. 當一個請求被髮送到服務器時,最終回送的響應是html,並且這個html是如何生成的並不重要。

在我看來,重構或分離你的代碼到多個文件中不會提高應用程序的性能,但是會提高你的編碼性能。