我目前正在开展一个大型项目。它已经被淘汰,但问题是用户已经在使用该应用程序并且有非常错误的结果。他们并没有抱怨太多,但每天我都收到有关错误和改进的电子邮件。
我很感激在决定天气调试应用程序或创建另一个应用程序时提供一些帮助。我正在使用带有旧插件的rails 2.5应用程序。
我是唯一一个这样做的人。 T.T
答案 0 :(得分:2)
对于像你描述的那样抛弃旧代码和重写的项目真的很诱人,但它几乎总是一个错误(参见http://en.wikipedia.org/wiki/Second-system_effect。最后关于重写的链接是非常宝贵的,尤其是http://chadfowler.com/2006/12/27/the-big-rewrite)。
我猜你没有任何真正的测试套件,或者它更容易追踪问题,你可能会有一个较小的项目,因为经过充分测试的项目往往是一个很好的因素(虽然不总是)。这将使重新实现变得非常困难并且保证您已经复制了所有功能,并且任何依赖项都可以与“新的和改进的”代码一起使用。
如果你的用户得到了错误的结果,我冒昧地说你实际上并不知道问题是什么,所以重写不会解决这个问题。
当我接手这样的项目时,第一步是编写一套表征测试,记录我认为系统应该在现在工作的方式。通常在这样做时,您将发现一些功能,这些功能没有意义,或者与系统的其他部分不一致 - 这可能是您的问题所在。一旦我们完成了这个阶段,我们就可以开始重构丑陋的部分,清理视图,将逻辑移动到它所属的某个地方,删除死代码等等。但是如果你想保持系统运行,这些测试非常重要。
最后,为自己设定合理的期望。像这样的项目不会在一夜之间变成混乱 - 你也无法在一夜之间修复它们。
答案 1 :(得分:0)
Fujisan我和你一样处于准确的境地。我认为最好首先调试当前的rails应用程序,然后考虑重建它。如果您正在重建rails应用程序,则需要的时间比预期的要长。我开始是这样的:
Railscasts是你最好的朋友!
我希望有所帮助。祝你好运!