2008-09-19 13 views
2

我正在研究一個已被接受爲概念驗證的項目,現在已按計劃作爲實際生產項目。我很好奇別人怎麼接近這個轉變。您是如何從概念驗證階段轉向生產就緒解決方案的?

我從各種渠道得知,當一個項目開始作爲一個概念證明時,通常是一個好主意,用於清理在快速發展階段編寫的所有代碼,基本上是用一個乾淨的石板重新開始,依靠在你從概念階段學到的東西,但沒有努力清理你第一次寫的潛在的混亂代碼。這種編程版本的「扔掉你即將發送和開始的憤怒電子郵件的第一個副本」理論。

我已經完成了這是過去,我也重構了生產中使用的概念代碼,但由於我正處於一個新項目的過渡階段,所以我想了解別人怎麼做這個。很明顯,項目本身和概念代碼很多(如果你生成的作品有效但不會擴展,例如,最好重新開始,但如果項目的時間表非常緊湊,則可能會被迫建立在你已經寫過的東西上)。

也就是說,如果所有的東西都是平等的,你會選擇什麼樣的方法?

回答

3

正如你已經在一種暗示,答案是,「這取決於」

從頭開始是好的,因爲你可以幫助修剪出來的時候開始工作了扭結但是,這不是」已添加的東西真的需要。

它也給你一個機會,你要如何架構要更多地考慮 - 已經不依賴於證據的概念是怎麼寫的......

但在實踐中,除非你將軟件出售給外部世界,否則建立在原型上是相當普遍的。只是不養成思考「我會稍後修復」的習慣,如果你遇到一些有異味或者看起來可以以更好的方式完成的代碼...

0

如果代碼有效,請使用它。花一點時間重構最麻煩的部分,以便於日後維護。但不要陷入從頭開始構建新系統的陷阱。

1

對我來說,這取決於我的POC是多麼渺茫。如果這件事我會感到羞恥,可能會傳遞給另一位開發人員,我會重寫它。否則,就隨你所得。

2

將現有代碼重構爲解決方案。

0

扔掉所有東西的概念,除了吸取的經驗教訓以及可能的一些次要代碼片段(如計算等)

概念應用程序的證明永遠不應該超過最低限度,以確定所研究的技術是否可以工作並開始測試一些邊界條件。

完成後,您可以自由使用新發現的知識重新設計應用程序。