Ruby on Rails:如何处理遗留代码?

时间:2009-12-24 19:22:27

标签: ruby-on-rails legacy-code

我在Rails 1.2.3中构建了一个门户项目。我已经在2006年底完成了它。

该项目正在使用以下插件: acts_as_attachment acts_as_ferret betternestedset simple_http_auth

我知道所有插件(或依赖项)今天都已更改,或者不再存在。 DHH说:Don't overestimate the power of versions。但我担心这一点。

如果我更新rails版本,所有的东西都会失败。我可以更改我的应用程序以使用新的rails版本。我想我可以阅读现在已弃用的内容并进行更改。但现在我需要自己支持所有依赖项或将其更改为其他依赖项(例如:acts_as_attachment to atachment_fu或paperclip)。怎么说明天?

我的疑问不仅仅是关于Rails,而是关于使用依赖关系来提高生产力。在其他项目中,我使用了纯Python代码,甚至纯Ruby代码或纯Php代码。今天,我可以在最新版本的“语言/环境”中运行它,而不需要(或很少)更改。

这些项目没有外部依赖关系,它只是应用程序代码。也许使用一些Web框架就像骨架一样,但不是外部项目。

您如何看待这个?

1 个答案:

答案 0 :(得分:1)

当您使用其他人的代码时,您需要支付自己的独立性,以便为问题提供现成的解决方案。所以由你自己决定什么对你来说更重要 - 建立你自己的东西,现在就浪费时间(可能 - 很多时间),或者使用别人的项目并立即完成工作,但保持与他们联系在一起或者稍后花时间进行升级/迁移。

你已经说过这个项目已经为你工作了三年了 - 而且我认为这很棒,如果你需要更新它 - 很自然你需要投入一些时间去做,三年是一个该领域的时间很长。