3

さまざまな新機能を含むユーザー ストーリーを実装し、コード ベースに複雑さを加えていると想像してください。既存のコードは十分にカバーされており、インターフェースを決定したところです。テストから機能の実装を開始しています。

これで、要件に基づいたかなり複雑なテスト ケースができましたが、実装は、SCM の完全に機能するコードにコミットでき、多くのテストが (当然のことながら) 失敗する時点にはほど遠い状態です。

継続的インテグレーションでは、可能であればすべてのビルドをグリーンにする必要があるため、ビルドを壊してしまうのでコミットしないでください。しかし、 「暗くなる」べきではなく、そのような量のコードを自分で保持するべきではありません...

このような状況で推奨される手順は何ですか?

4

2 に答える 2

5

すべてのインターフェイスを事前に決定しないでください。典型的な TDD リズムで段階的に開発します。テストを記述します。テストに合格します。リファクタリングします。これにより、すべてが適切な状態に保たれ、バーは常に緑色になり、ビルドが壊れることを心配することなくコードをチェックインできます.

異なるスタイルのコードを記述する必要がありますが、最終的にはリズムに慣れます。

于 2008-09-30T11:11:26.667 に答える
1

機能が現在不足しているために合格しないことがわかっているテストをスキップするのはどうですか?

あなたもテストをスキップしていることを明らかにしてください!彼らがオズで言うように、本当に「立ち往生した豚のように」叫ばせてください!(-:

機能を追加するときは、関連するテストを有効にして、「バーを緑色に保ちましょう!」

The Pragmatic Programmersのもう 1 つのすばらしい記事では、壊れたウィンドウを他の人に明らかにする方法について説明しています。

HTH

乾杯、

ロブ

于 2008-09-30T11:28:45.050 に答える