何のプログラムを作っているのかがキー
この本は、「自分がどのようなプログラムを作っているのか」ということがキーになります。この本を読むことでTDD(テスト駆動開発)の概要を理解することが出来るでしょう。またリファクタリングのさわりも理解できるでしょう。 しかし、読んだ人全員がTDDを実践できるでしょうか?いえ、そうではありません。GUI開発者の方がこの本を読んだとしても実践できないでしょう。GUIのテスト内容をプログラムすることはむずかしく、ソースコードにならないからです。WEBの例もFITというツールを使用してかかれていますが、これは画面表示内容をテストしていません。とても不完全なのです。 GUIを自動でテストしようとすれば、キーやマウス操作をシミュレート出来るツールと組み合わせることが必要となるでしょう。そういう意味でこの本はだけではTDDが実践できず、万人にお勧めできません。 TDDを理解したい人やCUI開発者向けです。
翻訳がひどい
とにかく翻訳(日本語)のひどさに苦労させられました.もしかしたら元の英文を読んだ方が正確に理解できたかもしれないし,フラストレーションも少なかったかもしれない.社内の勉強会の準備のために訳書を読んだが,この翻訳の質なら原文をじっくり読んだ方が得られるものが多いと思う.せっかく原文がしっかりした内容なので,翻訳者にはもっと英語の分かっている人を選ぶべきではないでしょうか(技術的知識は当然のこととして).
表現と翻訳に問題
非常にまわりくどい表現が多い。Kent Beckの性質だろうか。 例でもってテスト駆動開発を実演する部分の「くどさ」と「屈折」は置いておくとしても、パターンの部はで明快にはっきりといいたいことを表現してほしかった。 パターンの部は、デザインパターン・リファクタリングの基本的な知識があることを前提として書かかれているようである。 また、パターンの部は、デザインパターンの書式に準拠していない。 ある程度の設計・実装する力があると何か得るものがある書物と思う。 Kent Beckの表現に問題があるとしても、翻訳の質はひどい。
TDDプログラマの思考過程が読める
TDDの手順が、プログラマの思考過程を含めてシナリオチックに、じつに事細かに書かれており、これだけでも本書の価値はある。アジャイルのような従来のプロセスからはかなり異質なものに初めて取り組む時、誰かの思考過程をそのままなぞることができれば、その第一歩としてはこれ以上のものはないだろう。あとは応用するだけだ。 ただし、言語も複数登場するし、特定のツールの使い方が説明されているわけではないので、ハウツー的な要素は薄い。実際に適用するときは、利用するxUnitの解説や、特有ツールの運用を含めた別のドキュメントが必要になるかもしれない。 それにしても、XP関連書籍の例に漏れず、翻訳の質がひどい。日本語のレベルでどうにかしてもらいたい箇所が無数にある。
想定読者レベルはバリバリの実装者・・・
TDDのKnow-Howが事例に沿って具体的に説明されています。『是非、TDDを現場で実践してみたい』と思っている実装者の方には必読の一冊だと思います。想定読者レベルはバリバリの実装者なので、私のようなプロマネ専科の人間には読み通すのがチョットきつかったです。(特に、Part2はPython言語・・欧州では有名らしい・・で例が書かれているので一層きつかったです。) TDDは開発プロセスの対象が実装/UTに限定されているので、一見、似た名前のFDDと同じような開発プロセスの対象範囲を期待して読み出すと(私のように)面食らいます。私の不勉強で"Test-First"とか"TDD"を誤解していましたが、この一冊で、よく理解できました。 余談ですが、Kent Beckは本書の中で1年で最低3週間はバケーションを取る事る必要があるといっています。始めの1週間で脱力し、終わりの1週間は仕事に戻る準備の期間だそうです。(Beckの労働時間は本当に週に40時間なのだろうか?)
ピアソンエデュケーション
XPエクストリーム・プログラミング入門―変化を受け入れる バグがないプログラムのつくり方 JavaとEclipseで学ぶTDDテスト駆動開発 (Be agile!) 達人プログラマー―ソフトウェア開発に不可欠な基礎知識 バージョン管理/ユニットテスト/自動化 (Ascii software engineering series) アジャイルソフトウェア開発スクラム (アジャイルソフトウェア開発シリーズ) XPエクストリーム・プログラミング実行計画 (The XP Series)
|