コーヒー飲みながらペアプロしました

先月の読書会に引き続き、@ebc_2in2crc さんとご近所勉強会(名前はまだない)をやってきました。*1

CafeSpock に参加してペアプロの楽しさを知ったために、この会でもペアプロしましょうと言ったのがきっかけです。

その後、素振り会や TDD in Action に参加してペアプロ熱が高まっていたのでやってよかったです。

準備

先に着いた @ebc_2in2crc さんが電源のあるお店を確保してくれていたので合流。

TDD in Action の話などをしながらペアプロの準備。
お題はしんやさんのブログからうるう年のネタを選択。
課題をたくさんこなすよりも、じっくり話しながらやりましょうということで開始です。

環境としては、bitbucket でソースを共有して、各自の PC でコーディングしました。
IDE は、私が IntelliJ IDEA、@ebc_2in2crc さんが Eclipse、言語は Java、 テストフレームワークJUnit で行いました。
私の実行環境の準備が思いのほか時間がかかってしまい、開始が 15 時になってしまいました。ごめんなさい。

ペアプロ開始

まずは、お題を読みながら設計の方針決めです。
TDD in Action で、この部分に時間をかけるべきということを学んでいたので、紙に方針やアイデアをメモしながら合意したところでコーディング開始です。

結局、休憩挟んだりしながら 2 時間半くらいのペアプロでした。

成果物
https://bitbucket.org/y_sumida/tdd20120728/

反省点としては、ドライバーとナビゲーターの交代のタイミングが遅かったこと、コミットの粒度が大きかったこと、それに伴ってコミットコメントが適当になってしまったことなどです。
事前にある程度の方針を決めておいた方がいいかもしれません。

よかった点は bitbucket でコードを共有しながら進めたこと。
これによって、お互い自分の好きな環境で実施することができました。
また、話し合いに時間を割いたため、コーディングそのものは迷いが少なくできたのはよかったと思います。
個人的には、最近読んでいた『ソフトウェアテスト技法ドリル』の内容を思い出しながらデシジョンテーブル組めたのはよかったかな。
2 値の条件が 3 つなので、大した内容ではありませんが...

ソフトウェアテスト技法ドリル―テスト設計の考え方と実際

ソフトウェアテスト技法ドリル―テスト設計の考え方と実際

Java 版を push した後、@ebc_2in2crc さんからの要望で、Groovy + Spock でテストコードを少し書いてみました。
ですが、なぜか実行しようとするとエラーが出て怒られます。
結局、原因がわからずもやっとしたままでしたが、Spock の記述のわかりやすさについては伝えられたのかなー。
※帰宅後、ファイアウォールの設定をしていたためということが判明。外したら動きました。
 と思ったけど、ファイアウォールを再度設定しても動きました。よくわかりません。

ということで、Groovy + Spock の布教活動は終了しました。

お返しとばかりに JavaScript について色々教えてもらいました。
私が今まで触れたことがある言語のパラダイムとは違う、あまりの自由さに驚愕です。

そんな感じで、ペアプロしてたのは実質 3 時間もないくらいでしたが、店を出たのは 19 時くらいでした。
長居しすぎたかも...

懇親会?

いい加減お腹減ったので、この近辺で私の一押しの定食屋へ。
全然おしゃれじゃないし昭和の香り漂う店ですが美味しいのです。
気に入ってもらえたようでよかったです。

さらに、以前からウィスキー飲みにいきましょうと言っていたので、気になっていたバーへ。
ラフロイグを飲みながら、無駄にアツく語って、結局 22 時過ぎに解散。

トータル 10 時間近い長時間の会でしたが、非常に楽しい時間を過ごすことができました。
ペアプロや勉強会など、肩肘張らず気軽にカフェとか集まってできるといいなあと最近思っているので、この集まりは続けていきたいです。

@ebc_2in2crc さん、今回も長時間お付き合いいただき、ありがとうございました。

おまけ

@irof さんに捕捉されてたっぽい。

ご参加お待ちしています!

*1:前日、iPhone のバッテリーが切れ、その後飲み会に参加してしまったために長時間 Twitter から消えてしまい、開催するかどうかはっきりせずご心配をおかけしてしまいました。ごめんなさい。