[教育] 新人教育とテスト駆動開発

現在、教育を行っているお客さまのところで、オブジェクト指向理解の為の実習を行いました。
id:y-komori さんの書かれた なぜ、あなたはJavaでオブジェクト指向開発ができないのか―Javaの壁を克服する実践トレーニング を使っています(良い本です!)。 ただし、プログラミングの部分は私の方でテストコードを用意し、テスト駆動開発で行っています (しかもペアプロで)。


昨年、他のお客さま同じ教育を行ったときに、なんとなく思い付いて始めたのですが。新人教育をテスト駆動開発で行うのは非常に有効だと実感しました。

  • 簡単な例題だけでは、オブジェクト指向プログラミングを理解する事は無理です。 この本の Lesson6 で作るコードは、クラス数6、ソースコードの合計行数は500行以上あります。この程度のプログラムと格闘してもらうと、かなりオブジェクト指向プログラミングを実感してもらえます。
  • ただし、当然ですが新人さんのデバック能力は未熟です。テストコードがなくクラス単位でテスト出来ていない場合は、一定時間内にプログラムを完成させることが出来ません。
  • テスト駆動開発の場合、クラス単位でテストを通すという明確な目標があるので、ゲーム感覚で熱く問題に取り組んでくれます。
  • また、テストが通るという達成感があります。


もし、みなさまも、プログラミングの教育を行う際には EY-Officeに発注下さい テスト駆動開発を試してみて下さい。