2012年9月3日月曜日

TDD Boot Camp (#TDDBC) 横浜 Second Season に参加してきました

TDD Boot Camp (#TDDBC) 横浜 Second Season
http://kokucheese.com/event/index/46603/

2012/09/01 TDD Boot Camp 横浜 Second Season #tddbc
http://togetter.com/li/360406

TDDBC横浜 Second Season
http://devtesting.jp/tddbc/?TDDBC%E6%A8%AA%E6%B5%9C2nd

はじめに

今回は、スタッフとして初めてTDDBCに参加しました。
前回は、運良く抽選で参加者として参加しました。
前回のレポートはこちら -> レポート置き場: TDDBC横浜に参加しました。
それから、現在までいろいろな勉強会やイベントに参加することで、そろそろスタッフとして参加してみたいと思っていました。
また、TDD in Actionでも感じていたのですが、他のペアがどんな感じでやっているのを見てみたいと思っていました。
言語はJavaで参加しても良かったのですが、あえてGroovyで参加してみてることで自分のGroovy力がどの程度なのかを知ってみたかったので、Groovyにしました。

基調講演

@tosikawaさんによる「テスト駆動開発入門」の入門でした。

写経については、@t_wadaさんの連載にもありました。
[動画で解説]和田卓人の“テスト駆動開発”講座 » 第6回 「写経」でTDDの手順や書き方を学ぶ
http://gihyo.jp/dev/serial/01/tdd/0006

誰が言ったのか忘れてしまいましたが、新しい言語を始める際にテスト駆動開発入門を写経することで覚えるといいと聞きました。
それにならって、私自身まだ、テスト駆動開発入門の写経をしていないので、これを機にやってみたいと思います。

ペアプロ中の気づき

一番印象に残ったのはこれでした。


ペアプロをしていると、基本的に閉じた世界になってしまいがちですが、誰かに相談したり一息ついて一旦閉じた世界から離れてみる必要があるなと実感しました。

参加者の方から、言語のTAと言語以外に抽象的な部分に対応できるTAがいてとても良かったという感想をいただきました。
今回は、@t_wadaさんを始め複数の言語が出来たり、実戦経験豊富な方がTAだったので、上手くサポート出来ていたのではないでしょうか(私はあまり役に立っていたとは言えないのですが)。

前日にStep2まで素振りをしていたことで気づいたのは、事前に同じ課題をこなすことで自分の過去をオーバーラップしながらアドバイス出来たことでした。
自分がつまづいた箇所やGroovyでならどう書くのかといったことを出来るだけ伝えたつもりです。

また、その他の言語のテーブルを見て回れたのは、とても勉強になりました。
個人的にはJavaScriptのテーブルが、ドライバー1とナビゲーター2で10分毎に交代しながら行なっていたので印象に残りました。
jasmine + node.jsを利用していたそうです。
http://pivotal.github.com/jasmine/

探してみたところgradleにもjasmineのpluginがあったので、触ってみたいと思いました。
https://github.com/dzhaughnroth/jasmine-gradle-plugin

コードレビュー

コードレビューでは、C++のペアに学ぶことが多かったとおもいます。
テストに対する取り組み方として、慎重に周りを見渡してこのまま前に進んで大丈夫か確認していく大切さを教えていただきました。

Spockの素晴らしさを披露するのが、TDDBCでのコードレビューにおけるGroovyの定番となっているのですね。
あと、gradleでプロジェクトを作った意図を汲んでいただけたのか、参加者の方がgradleのレポートを披露してくださいました。
これも結構好印象だったので良かったです。
ありがとうございました。

最後に

今回、スタッフとして参加して、TDDの知らなかったことや新しいことを学ぶことができました。
特に質問コーナーでスタッフの皆さんが自身の体験から学んだことを話していたことがとても印象に残りました。
まだまだ練度が低いので、もっといろんな「気づき」を出来るまで日々鍛錬したいと改めて思いました。

主催してくださった@setoazusaさん、参加して下さった皆様、スタッフの皆様、会場を提供して下さった株式会社アットウェア様、ありがとうございました。