2

简而言之,我正在寻找工具来跟踪我在 Ruby 中“充实”一个复杂系统的进度。

通常,当我开始使用 Ruby 开发一个新系统时,我首先会编写一个outline.rb文件,其中包含stub我认为我想使用的所有类的类定义。然后我逐渐实现了这个功能。

是否有任何工具可以快速调查我stubs并跟踪哪些仍需要实施,以及每次实施花了我多长时间,以小时为单位?

4

2 回答 2

5

我通常通过测试来跟踪我的进度。例如,如果你在做 TDD/BDD,你可以使用 rspec 并创建标记为“待定”的测试——基本上没有正文的测试。

以这个要点为例(https://gist.github.com/4150506)

describe "My API" do

  it "should return a list of cities (e.g. New York, Berlin)"
  it "should return a list of course categories"
  it "should return a list of courses based on a given city"
  it "should return a list of courses based on a category and city"

end

在其中,我列出了一些测试,一旦所有实现细节到位,我希望系统通过这些测试。这使我可以全面了解我正在构建的内容,而不会太快太深。

更新:这个想法是能够在命令行运行规范,rspec 会告诉你哪些测试通过、失败或待定。

至于时间跟踪部分,我只使用了一个计时器应用程序(例如tickspot.com)。您也可以随时记下规范文件上的时间戳,以了解何时开始修改文件以及何时停止。

希望有帮助。

于 2012-11-26T20:49:56.837 回答
0

我的回答基本上是“不”。

你如何定义“完成”?不是“只是一个存根”,还是表现出完整的行为?您如何定义“完整”行为?你最初没有存根的方法呢,我只能想象会有几十个,如果不是几百个的话。

对存根方法的时间并没有让我觉得这是一个有意义的统计数据,而是对功能的时间。这应该通过问题跟踪票据和提交日志来处理,但这将反映整体时间,而不是具体的任务时间,这通常是显着不同的。

如果没有非常精细的问题跟踪、时间输入以及单元和行为测试,我看不出如何在任何重大规模的项目中以任何真正的准确性完成这项工作。即使这样,您也可能需要构建一些工具来帮助您使用特定的方法。

于 2012-11-26T20:59:26.567 回答