我在Rails2.3上有一个很大的ruby,由于速度慢和有很多bug,现在它成了一个灾难。我是唯一的程序员,每天我都会因为这个而调试和撕裂我的头发。用户已经在使用这个产品了,但是有太多的bug和数据是分散的。
我是在没有项目开发和管理知识的情况下被录用的。现在我正在忍受更多的加班和我的代码需要修复的危机。
此外,我在学习rails的同时创建了这个应用程序,因此其中的代码对我来说变得更加陌生。
我该怎么办?你有什么建议?我需要阅读哪些书来了解更多的信息?
求求你我需要帮助。
谢谢。
发布于 2012-09-06 17:26:01
我很乐意建议你升级到Rails3,特别是有很多新的特性和一些简化的东西,这将使未来的可维护性变得更容易。
然而,不幸的是,考虑到你手头已经有更多的东西,我很犹豫(或者更确切地说,根本不能)真正地建议你这样做。
在这种情况下,您可以做的最好的事情就是开始编写测试。如果有这么多的bug,我不得不假设你要么没有测试,要么你的测试套件不完整。测试将帮助您确信,当您尝试修复其他东西时,您不会破坏任何东西。
默认的rails测试框架可以在Ruby on Rails Guides中找到。话虽如此,许多人还是更喜欢RSpec测试框架。默认的Rails测试框架确实存在缺陷(特别是fixture的脆弱性-尝试获取factory gem,以及其他功能,如模拟和期望,以及嵌套上下文)。
您应该阅读有关测试框架的内容,也许可以尝试一下。但是,尽早选择一个测试框架,然后开始测试所有的东西!
也许当你对你的测试套件更有信心并修复了最重要的bug时,你应该更多地考虑升级Rails的途径-因为所有的gem都会继续前进,并逐渐放弃对Rails 2.3的支持,这意味着你将使用越来越老的gem,而这些gem可能不再得到很好的支持。
发布于 2012-09-06 18:52:46
据我所知,您询问的是如何控制rails项目的项目管理技巧和工具。
我认为你需要做的第一件事就是稳定项目。要做到这一点,您将需要最小化错误并绘制所需的工作图表。
我认为有两种互补的方法:
testing
任务/错误跟踪
这一点非常重要,因为您需要某种列表来逐项列出所有的bug。
有时用户发现一个bug,突然你不得不放弃一切,因为在那一刻,这个bug是有史以来最重要的bug,需要立即解决。然而,如果你直接问他们这是否意味着你正在修复的bug是更重要还是更不重要,答案可能会不同。
因此,如果有一种明确的方法让用户参与决策过程,这对您是有利的。如果有一个共享的bug列表,用户也可以关注当前的状态(你正在做什么),他们可以指出/选择对他们来说更重要的bug。
其次:有一个项目列表(工作/任务/未完成的bug/...)还可以帮助您规划工作。
对于某种类型的bug跟踪,有很多选择,但一些简单/实用/免费的建议是
中的问题
跟踪bug/任务会给你一种获得项目控制权的感觉,而且:它会让你的客户更容易看到这一点。
黄瓜
在修复bugs时,总是有引入新bugs的危险,这肯定是在一个最初不是您自己的项目中。
在一个几乎没有测试的项目中,我总是建议从cucumber开始。黄瓜有几个优点:
test-code
是可读的,你可以向你的客户/用户展示,他们实际上会理解测试覆盖的内容(并可以纠正/改进它)。升级还是不升级?
我个人认为你的第一步应该是稳定项目,最小化/删除所有的bug。虽然升级到Rails3将是一个巨大的改进,但这并不是一个简单的过程。有一些很好的指导原则,但如果你现在这样做,你将不知道错误是在升级过程中引入的,还是以前存在的。首先对代码质量进行排序,然后进行升级。
希望这能有所帮助。
发布于 2012-09-06 17:38:55
实际上,你问的问题完全取决于你需要多少重构来清理整个项目。如果你手中有足够的时间将完全清理干净,你就可以使用。我建议采取以下步骤:
,,RESTful,cucumber
,rspec
,factory girl
相比,
对于一个由4名成员组成的中等规模的项目,这个过程大约需要4-5个月的时间。
如果您有任何具体的困惑,请让我们知道。
https://stackoverflow.com/questions/12296647
复制相似问题