2009-12-24 32 views
0

我有一個使用Rails 1.2.3構建的門戶項目。我在2006年Ruby on Rails:如何處理遺留代碼?

項目最終完成了它使用的是以下插件: acts_as_attachment acts_as_ferret betternestedset simple_http_auth

我知道所有的插件(或依賴)今天被改變,或者不再存在。 DHH說:Don't overestimate the power of versions。但我很擔心這一點。

如果我更新rails版本,所有的東西都會失敗。我可以更改我的應用程序以使用新的rails版本。我想我可以閱讀現在已棄用的內容並進行更改。但是現在我需要自己支持所有依賴關係,或者將其更改爲其他依賴項(例如:acts_as_attachment toatach_fu或paperclip)。關於明天要說什麼?

我的疑問不僅僅是關於Rails,它是關於使用依賴關係來提高生產力。在其他項目中,我使用了純Python代碼,甚至純Ruby代碼或純PHP代碼。今天,我可以在沒有(或很少)更改的情況下在最新版本的「語言/環境」中運行它。

這些項目沒有外部依賴性,它只是應用程序代碼。也許使用一些Web框架作爲骨架,而不是外部項目。

您對此有何看法?

回答

1

當您使用別人的代碼時,您需要爲您的問題獨立支付現成的解決方案。因此,決定在每種情況下哪些對您更重要 - 取決於您現在製造自己的東西並在其上浪費時間(可能 - 很多時間),或者使用其他人的項目並立即完成工作,這取決於您與他們綁在一起,或者隨着時間進行升級/遷移。

你說過這個項目已經爲你工作了三年 - 如果你需要將它提升至最新狀態 - 我認爲這很棒 - 你必須投入一些時間才能做到這一點,這很自然,三年這方面的時間很長。

+0

好的。現在或以後支付。天下沒有免費的午餐。謝謝! – 2009-12-28 04:36:18