« [お知らせ] 記事 「TDD とは?」 に 「TDD 三原則」 を追記 | トップページ | [記事紹介] InfoQ ~ ペア・プログラミングの実際の効果 »

2010年2月 6日 (土)

[イベント] TDD 道場 @わんくま名古屋勉強会#11

今日 (2010/2/6) 開催された 「わんくま同盟 名古屋勉強会 #11」 の昼休み中に、 TDD 道場をやりました。 まったく初めての試みだったので、 予定通り(?) ぐでぐでになりましたけど、 これからも続けていこうと思います。

TDD 道場とは、 TDD をやってみることに主眼を置いたコーディング道場です。
今回、 説明に使ったスライドはこちらにあります。 ⇒ 勉強会などで使った資料: わんくま勉強会 名古屋#11
お題をどうしようか悩みましたが、 掲示板で助けてもらって、 簡単な FizzBuzz にして 2セッション (VB.NET と Java) やりました。 最初のドライバーだけは決めておいて、 そのあとのメンバーはその場で手を上げてもらったのですが、 .NET チーム / Java チームとも 5分 (だいたい 5分) でドライバー交代していけました。 聴衆からもけっこうツッコミが入ってまして、 最初の試みとしてはまぁそれなりに受けたんじゃないかなと感じました。
2セッションやってみて面白かったのは、 Assert.Are* 派と AssertThat 派、 テストコードのリファクタリング推進派と反対派などなど、 短い時間だったのにいろいろ出てきたことです。 どちらかが絶対に正しいなんていうことは無いわけですけど、 内輪でやってるときには出てこないことなので、 新鮮でした。

以下、 反省点

  • FizzBuzz なら 20分くらいでいけるかと予想していたのですが、 半分も行きませんでした。 → 次からは 1言語だけで。 (VB.NET / C# / Java からその場で選択。 …それ以外もアリ? 会場からは 「SQL!」 って声が上がってたけど、 やれるのだろーか)
  • ペアプロも、 まだあまり馴染みが無さそうでした。 ドライバーとナビゲーターの役割って、 ドライバーがキーボードを持ってるという以外に細かい決まりは無い (ドライバーが目の前に集中し、 ナビが遠くに目を配るという大雑把な役割担当はある) のですけれど、 たとえば 「ナビが大雑把に指示したことだけを、 ドライバーは解説しながらキーボードを打つ」 みたいなルールを決めちゃったほうがよいかも?
  • TDD という略語を知らない人もいました。 → 説明用スライドに解説を追加。
  • 勉強会の運用の話として。 午前のセッション終了から TDD 道場になだれ込んで、 そのまま午後のセッションにまたなだれ込んでしまったので、 「ケジメ」 が無くなってしまいました。 正規のプログラムと、 (主催の許可を貰ってるとはいえ) ゲリラ企画とは、 ちゃんと区別されるべきです。 → 前後 5分くらいずつ 「ブラック アウト」 タイムを取るようにする。

次回の わんくま名古屋 #12 (3/13) でも、 TDD 道場を開催しようと思います。
お題は、 とくに要望がなければ 「郵便番号のバリデーション」 で。 なにかありましたら掲示板のほうにでも書いてやってください。

なお、 今回は完成しなかった FizzBuzz ですが、 C# でやるとこんな風になるよ、 という例を、 先月の TechFielders セミナーで紹介しました。 こちらからスライドをダウンロードしてご覧ください。 ⇒ [お知らせ] Tech Fielders セミナーの資料を掲載しました

|

« [お知らせ] 記事 「TDD とは?」 に 「TDD 三原則」 を追記 | トップページ | [記事紹介] InfoQ ~ ペア・プログラミングの実際の効果 »

*イベント」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/209349/47496104

この記事へのトラックバック一覧です: [イベント] TDD 道場 @わんくま名古屋勉強会#11:

« [お知らせ] 記事 「TDD とは?」 に 「TDD 三原則」 を追記 | トップページ | [記事紹介] InfoQ ~ ペア・プログラミングの実際の効果 »