web-dev-qa-db-ja.com

TDDを使用した複雑なコードの良い例

大規模な現実の複雑なプロジェクトでTDDを使用する良い例は何でしょうか。これまでに見た例はすべて、本や紙を目的としたおもちゃプロジェクトです...

TDDを多用するオープンソースプロジェクトの名前を教えてください。 C++が望ましいですが、JavaおよびC#または他の同様の言語を読むことができます。

37
Xavier Nodet
  • JUnit は100%テスト駆動で開発されました。実際、これは100%テスト駆動型in JUnitで開発されました。これは、ケントベックが何度か言ったように、本当に心を痛めさせるものでした。
  • I believe SunのZFSファイルシステムは、テスト駆動型で開発されました。
  • Ioke プログラミング言語(JVM)のikjインタープリター、Iokeプログラミング言語(CLI)のikcインタープリター、Iokeコア全体と標準ライブラリー、そして実際、言語自体は100%テストで開発されました-駆動型(実際には行動駆動型)。
19
Jörg W Mittag

SQLite。 すべてのコードは非常に、非常に厳しくテストされています

バージョン3.7.14以降、SQLiteライブラリは約81.3 KSLOCのCコードで構成されています。 (KSLOCは、何千もの「ソース行のコード」、つまり、空白行とコメントを除くコード行を意味します。)比較すると、プロジェクトのテストコードとテストスクリプトは1124倍です-91421.1 KSLOC。

14
liori

FitNesseがTDDで記述されていて、プロジェクトへの主な貢献者がUncle Bob Martinであることを思い出すと、それはおそらく本当にクリーンなコードです

9
CaffGeek

マイクロソフトのP&Pチームとの話し合いから、Enterprise LibraryはTDDで作成されました。

3
Walter

TDDを使用したオープンソースプロジェクトの名前を付けることはできませんが、TDDが使用された実際のプロジェクトで作業したことがあり、命の恩人でした!

3
Steven A. Lowe

TDDで完全に行われた私の最初のプロジェクトは、2002年のオープンソースプロジェクトでした。まだここで見つけることができます。

http://sourceforge.net/projects/camelos/

現在、私は主にTDDで作業していますが、チームの全員がそうしているわけではありません。1日の終わりにテストを作成した場合は問題ありません。

また、コア部分にTDDを使用する完全なgwt-gaeアプリケーションを作成しました。 http://netnumero.appengine.com/company/mycompany

そのコードをリリースすることはできませんが、GWTのTDDで行われた完全なサンプルプロジェクトに取り組んでいます。つまり、UIでもTDDを使用しています。

終了したらすぐに(クリスマス休暇)ここに投稿します https://github.com/ubertob/gwt-tdd-example

0
Uberto