2015-07-03 48 views
0

假設您有一個窗體,允許您在文本框中輸入您的姓名,按下按鈕並彈出一個包含姓名的消息框。現在,讓我們假設用戶出現並希望另一個文本框打印他們的姓氏。你確定這個功能需要幾個月的時間才能發展(我的目的是誇大其詞,但請承擔這個概念)。.NET中的代碼重複

因此,您不想修改現有表單,否則在新功能完成前您無法發佈您的產品。對於這種情況,我的做法是複製和粘貼表單,實施更改,測試它們,並在準備好舊錶單時將其替換爲最新版本。

這種方法有一個主要缺點,即對舊格式的任何快速修復都需要在新格式中進行復制,從而導致重複工作。除了我討厭複製和粘貼的事實之外,這只是感覺不對。

另一種方法是創建一個繼承原始表單的類,因此對「新」表單的任何錯誤修復都會自動提供給新表單。這種方法使您能夠靈活地以這種「新」形式進行開發,同時允許您對舊的問題進行修復。

但是,我不相信這是正確的做法。你對這種情況有更好的方法嗎?

+0

有沒有聽說過源代碼控制,版本,集成等? – wonderbell

回答

1

聽起來像你想要的是版本管理子系統。看看Git,SVN或其他人。這些允許您一次處理該程序的幾個'版本',進行更改,合併這些更改等。

正如評論中所述,使用分支描述possible workflows的Git文檔可能會讓您開始。 對於烏龜/水銀,this SO question可能會回答你的問題。

+0

不,不,我使用mercurial版本控制。沒什麼大不了。我需要一種方法,允許您修改原始表單(用於錯誤修復),同時允許您使用同一表單的新功能,而無需代碼重複,並且可以協同工作。我相信你們都有過這種類型的場景,你一直在這個行業:)) – deadCrow

+0

@CodeCaster說了什麼:如果你已經在使用版本控制,那麼你並沒有充分利用它的潛力;事實上,那麼你並沒有將它用於其主要目標。看看分支;它是處理您提出的案例的工具。 – MicroVirus

+0

聽起來很有趣的概念..我不知道龜/水銀有「特徵分支」。它確實有分支,但它自動爲你處理/處理所有東西。我從來沒有在Tortoise看到過「創建功能分支」的選項,但我看到了那些分支,然後合併來自不同開發者的代碼。您的建議可能是我們現有的'拼湊'方法的一個很好的選擇! – deadCrow