2012-03-28 62 views
0

我目前正在从事一个大型项目。它已经推出了,但问题是用户已经在使用该应用程序,并有非常错误的结果。他们不会抱怨太多,但我每天都会收到有关错误和改进的电子邮件。RoR:大型项目管理。需要在大型项目上工作的RoR Seniors的帮助

我将不胜感激在决定天气调试应用程序或只是创建另一个帮助。我正在开发一个带有旧插件的Rails 2.5应用程序。

而我是唯一一个做这一切的人。 T.T

+0

您是否想聘请某人?你有什么特别的问题吗? – Austin 2012-03-28 03:37:23

+0

我希望我可以聘请你,但我的老板正在为我找到一位永久的同事。我认为他正在创造一台克隆机器,以便他能复制我。 – fujisan 2012-08-22 10:04:54

回答

2

及其对项目确实很诱人像你描述折腾出旧代码和重写,但它几乎总是一个错误(见http://en.wikipedia.org/wiki/Second-system_effect。在关于重写结束链接是非常宝贵的,尤其是http://chadfowler.com/2006/12/27/the-big-rewrite)。

我想你没有任何真正的测试套件,或者它会更容易找到问题,你可能会有一个更小的项目,因为经过良好测试的项目往往是很好的考虑因素(虽然不总是)。这会使得重新实现和保证你已经复制了所有的功能并且任何依赖关系与“新的和改进的”代码很好地工作是非常困难的。

如果您的用户得到错误的结果,我敢说,你实际上并不知道问题是什么,所以重写不会解决这个问题。

当我接管这样的项目时,第一步是编写一套特性测试,记录我认为系统在当前工作的方式。经常这样做,你会发现一些没有意义或者与系统其他部分不一致的功能 - 这可能就是你的问题所在。一旦我们经历了这个阶段,我们就可以开始重构丑陋的部分,清理视图,将逻辑移至它所属的某个位置,删除死代码等等。但是如果您想保持系统正常运行,这些测试真的很重要。

最后,为自己设定合理的期望值。像这样的项目不会在一夜之间变成垃圾 - 也不能在一夜之间修复它们。

+0

感谢您的信息。 – fujisan 2012-04-03 01:41:05

0

富士山我处于确切的状况,因为你是。我认为最好先调试当前的rails应用程序,然后考虑重新构建它。如果您正在重建导轨应用程序,则需要比预期更多的时间。我开始是这样的:

  1. 创建一个单独的数据库和存储库,它具有相同的代码和数据从实时网站中提取。我使用这个网站来处理错误,而不是在现场。
  2. 首先开始了解哪些模型存在并从用户模型开始。如果您之前没有使用过,最好在这一步中使用rails控制台和dbconsole。使用ruby从控制台很容易找到依赖关系。
  3. 只是调整模型,发现不同模型之间的关系。模型查看控制器后。现在,一旦我对应用程序中发生的事情有了一个概念,我就开始画出每个模型的目的以及它在做什么以及如何以及为什么依赖关系。
  4. 最后与工作的错误和建议。主要障碍是宝石。当网站是由老年人创建的时候,宝石非常活跃,现在他们都成了孤儿。这使得很难得到任何由于这些宝石而持续存在的错误的答案。

Railscasts是你最好的朋友!

我希望有所帮助。祝你好运!