简而言之,我正在寻找工具来跟踪我在Ruby中“充实”复杂系统的进展。
通常当我开始在Ruby中使用新系统时,我首先编写一个outline.rb
文件,其中包含我认为我想要使用的所有类的stub
类定义。然后我逐渐实现了这个功能。
是否有任何工具可以快速调查我的stubs
并跟踪哪些仍然需要实施,以及每个实施需要多长时间,以小时为单位?
答案 0 :(得分:5)
我通常会通过测试跟踪进度。例如,如果您正在进行TDD / BDD,您可以使用rspec并创建标记为" pending" - 基本没有正文的测试。
以此要点为例(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)。您也可以随时记下规范文件中的时间戳,以了解何时开始修改文件以及何时停止。
希望有所帮助。
答案 1 :(得分:0)
我的回答基本上是“不”。
你如何定义“完成”?不仅仅是“存根”,还是表现出完整的行为?你如何定义“完整”行为?那些你最初没有存根的方法怎么样,我只能想象会有几十个,如果不是数百个。
针对存根方法的时间并没有把我视为有意义的统计数据,而是反对功能的时间。这应该由问题跟踪故障单和提交日志来处理,但这将反映总体时间,而不是具体的任务时间,这通常会有很大差异。
我没有看到如何在没有非常精细的问题跟踪,时间输入以及单元和行为测试的情况下,对任何大型项目的任何真实准确性如何做到这一点。即便如此,您可能需要构建一些工具来帮助您使用特定的方法。