簡単に言えば、Ruby で複雑なシステムを「具体化」する進捗状況を追跡するためのツールを探しています。
通常、Ruby で新しいシステムの作業を開始するときは、最初に、使用したいと思われるすべてのクラスのクラス定義をoutline.rb
含むファイルを作成します。stub
その後、徐々に機能を実装します。
私をすばやく調査し、stubs
まだ実装する必要があるものと、各実装にかかった時間を追跡するためのツールはありますか?
簡単に言えば、Ruby で複雑なシステムを「具体化」する進捗状況を追跡するためのツールを探しています。
通常、Ruby で新しいシステムの作業を開始するときは、最初に、使用したいと思われるすべてのクラスのクラス定義をoutline.rb
含むファイルを作成します。stub
その後、徐々に機能を実装します。
私をすばやく調査し、stubs
まだ実装する必要があるものと、各実装にかかった時間を追跡するためのツールはありますか?
私は通常、テストを通じて進捗状況を追跡します。たとえば、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) を使用します。ファイルの変更をいつ開始し、いつ終了したかを把握するために、スペック ファイルのタイムスタンプもいつでも書き留めておくことができます。
それが役立つことを願っています。
私の答えは本質的に「いいえ」です。
「完了」をどのように定義しますか?「単なるスタブ」ではなく、完全な動作を示しているのではありませんか?「完全な」動作をどのように定義しますか?元々スタブ化していないメソッドについてはどうでしょうか。数百とまではいかなくても、数十のメソッドがあると想像できます。
スタブメソッドに対する時間は、意味のある統計として私を襲うのではなく、機能に対する時間です。これは、問題追跡チケットとコミットログによって処理する必要がありますが、これは全体的な時間を反映します。具体的にはタスクの時間ではなく、多くの場合大幅に異なります。
非常にきめ細かい問題追跡、時間入力、およびユニットと動作のテストを行わずに、重要なサイズのプロジェクトでこれを実際に正確に行う方法がわかりません。それでも、特定の方法論を支援するためにいくつかのツールを構築する必要があるでしょう。