首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何管理ruby on rails 2.3上的项目?

如何管理ruby on rails 2.3上的项目?
EN

Stack Overflow用户
提问于 2012-09-06 17:08:41
回答 5查看 160关注 0票数 1

我在Rails2.3上有一个很大的ruby,由于速度慢和有很多bug,现在它成了一个灾难。我是唯一的程序员,每天我都会因为这个而调试和撕裂我的头发。用户已经在使用这个产品了,但是有太多的bug和数据是分散的。

我是在没有项目开发和管理知识的情况下被录用的。现在我正在忍受更多的加班和我的代码需要修复的危机。

此外,我在学习rails的同时创建了这个应用程序,因此其中的代码对我来说变得更加陌生。

我该怎么办?你有什么建议?我需要阅读哪些书来了解更多的信息?

求求你我需要帮助。

谢谢。

EN

回答 5

Stack Overflow用户

发布于 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可能不再得到很好的支持。

票数 1
EN

Stack Overflow用户

发布于 2012-09-06 18:52:46

据我所知,您询问的是如何控制rails项目的项目管理技巧和工具。

我认为你需要做的第一件事就是稳定项目。要做到这一点,您将需要最小化错误并绘制所需的工作图表。

我认为有两种互补的方法:

  • 使用任务/错误跟踪工具开始使用cucumber

testing

任务/错误跟踪

这一点非常重要,因为您需要某种列表来逐项列出所有的bug。

有时用户发现一个bug,突然你不得不放弃一切,因为在那一刻,这个bug是有史以来最重要的bug,需要立即解决。然而,如果你直接问他们这是否意味着你正在修复的bug是更重要还是更不重要,答案可能会不同。

因此,如果有一种明确的方法让用户参与决策过程,这对您是有利的。如果有一个共享的bug列表,用户也可以关注当前的状态(你正在做什么),他们可以指出/选择对他们来说更重要的bug。

其次:有一个项目列表(工作/任务/未完成的bug/...)还可以帮助您规划工作。

对于某种类型的bug跟踪,有很多选择,但一些简单/实用/免费的建议是

  • 签出trello
  • 使用github

中的问题

跟踪bug/任务会给你一种获得项目控制权的感觉,而且:它会让你的客户更容易看到这一点。

黄瓜

在修复bugs时,总是有引入新bugs的危险,这肯定是在一个最初不是您自己的项目中。

在一个几乎没有测试的项目中,我总是建议从cucumber开始。黄瓜有几个优点:

  • 它从外部测试你的应用程序/网站:不需要完全理解代码,你只需要知道应用程序应该做什么。如果我点击这个链接,它应该会把我带到那个页面。
  • 用黄瓜写测试真的很容易,你很快就会得到测试覆盖率
  • 作为额外的好处,你的test-code是可读的,你可以向你的客户/用户展示,他们实际上会理解测试覆盖的内容(并可以纠正/改进它)。

升级还是不升级?

我个人认为你的第一步应该是稳定项目,最小化/删除所有的bug。虽然升级到Rails3将是一个巨大的改进,但这并不是一个简单的过程。有一些很好的指导原则,但如果你现在这样做,你将不知道错误是在升级过程中引入的,还是以前存在的。首先对代码质量进行排序,然后进行升级。

希望这能有所帮助。

票数 1
EN

Stack Overflow用户

发布于 2012-09-06 17:38:55

实际上,你问的问题完全取决于你需要多少重构来清理整个项目。如果你手中有足够的时间将完全清理干净,你就可以使用。我建议采取以下步骤:

  • Getting Ready
    • 获得整个项目的可视化效果。什么是必需的,什么是不需要的,以及它们之间的关系和正确的测试工具和框架,如etc.

,,RESTful,cucumberrspecfactory girl

  • Plan of required.
  • Isolate
    • 决定(如果可能的话,作为一个团队) what as minimum or changes ofminimumor all components in required.
    • Isolate groups in不同group (如果可能的话,作为一个团队)更改不同组中的所有组件,以便可以单独重构每个组。较小的组是preferred.
    • Decide测试用例。与90%.

相比,

  • 将任务分解为尽可能小的测试用例,从而确保您的测试覆盖率更高

对于一个由4名成员组成的中等规模的项目,这个过程大约需要4-5个月的时间。

如果您有任何具体的困惑,请让我们知道。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12296647

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档