2009-12-24 34 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