2010-07-26 54 views
1

任何時候我需要編寫代碼,我幾乎總是把它放在文件後面的代碼中。出於某種原因,這似乎一直是編寫代碼的「正確」方式。是否有任何理由將代碼放在代碼後面而不是aspx文件中?

根據我在網上看到的大多數例子,很多其他人也選擇以這種方式編寫代碼,但它似乎將您的代碼放在aspx文件中,可以讓您完成所有相同的工作,幾個優點。

頂部列表是:

  • 容易使因爲沒有 重新編譯的變化。
  • 您可以訪問所有代碼,如果 您無法找到項目源 控件(最近發生在 我)。

在代碼隱藏文件中使用代碼有什麼好處嗎?將代碼放入aspx文件有什麼不利之處嗎?

+0

我相信這些好處並不完全有益...更容易做出改變,因爲沒有重新編譯:其實這是一個很好的理由,如果你的代碼經常變化,但如果它沒有,那麼沒有太大的好處。您可以訪問所有代碼:您的意思是整個網站以.aspx文件編碼。沒有數據層,沒有實體?那麼你應該能夠在你的源代碼管理中找到項目,或者至少在一些備份中。如果你至少不能使用反射器。 – 2010-07-26 17:10:57

+0

我知道我應該能夠在源代碼控制中找到它,但它不是一個完美的世界。我已經使用反射器來查看代碼,但我寧願不移動整個項目,手動使用反射器。如果你曾經這樣做過,那真是一場噩夢。 – 2010-07-26 17:12:36

+1

如果你真的不能依賴你的源代碼控制,那麼至少要確保備份可用。如果你確實需要,那麼你可以將你的源代碼與你的DLL和ASPX頁面一起部署,但只要確保你將源代碼放在安全的位置。在我看來,如果您的源代碼管理和/或備份系統出現故障,爲了可恢復性而將所有應用程序的代碼放入aspx文件中是不可接受的。 – 2010-07-26 18:26:21

回答

5

將代碼從標記中分離出來會產生更清晰的結構,特別是對於非平凡的頁面。
這是ASP.Net over ASP Classic的主要優點之一。

1

可維護性。它允許獨立於代碼編輯HTML部分,總的來說。

2

更容易進行更改,因爲沒有 重新編譯。

取決於什麼情況下,你可以上傳普通的ASPX + ASPX.CS到服務器,它會在IIS上爲你編譯它。我討厭不得不'發佈'網站,然後上傳文件,有時在我需要在記事本中快速編輯的服務器上,因此這種方法非常完美。

我個人喜歡讓他們分開的設置。

PS。我使用'網站'而不是'網絡項目',我相信在上傳到服務器之前必須對其進行編譯。

0

當你有一個非常小的項目,這只是一個不好的做法。他們只是告訴你這是錯的,但感覺完全正確。

當你開始處理大型項目時,尤其是當你需要維護它們時,你會碰壁。

當你的項目變大時 - GUI部分(表單)變小:這裏有一個組件,這個顏色不太複雜。

另一方面,邏輯部分成爲一個真正的痛苦......如果我在20頁中使用函數,我會更改每種形式的函數的每個複製?如果它們幾乎相同,但有點不同......我將如何實施解決方案?

OOP提供了許多設計模式,以便您的代碼儘可能乾淨和高效......但您必須使用對象而不是表單。

表單是一個對象,但它不符合OOP設計模式規則。這些規則在那裏讓你的生活更輕鬆。

我曾經不得不保持一個龐大的系統...每一次改變都需要改變許多形式和測試多種形式。重建系統後,它成爲一個小系統,易於維護。從零開始構建一個忽略整個系統的表單很容易......但這種形式很難保持。

永遠不要想你建立這個項目的那一年,想想你要維持它的20年。

好運 阿薩夫

0

在這個環節目前正在尋找把代碼CB文件的真正優勢迷迷糊糊的,確認SLaks的回答,請參閱本link對於那些誰仍然懷疑。真的認爲加工和速度也可能是一個優勢,但唉...

相關問題