TDD in Action に参加しました

7月22日 TDD in Action #tddact(東京都)
TDD in Action #tddact - Togetterまとめ

前日の SCMBC に引き続き 2 日連続で勉強会参加です。

見せてもらおうか!Tokyoのテスト駆動の性能とやらを! ※開催概要より

ということで、色々な人のテスト駆動の性能を見せてもらってきました!

会場は毎度おなじみオラクルさん。今回もフライングでオラクルなう!をきめました。
参加することを決めた後、色んな人から、マサカリが飛び交う勉強会だよね!と脅されていましたが、そんな雰囲気はなく、めちゃくちゃ楽しい一日でした!*1

そして、Japan Oracle User Group さんのご厚意で、こんな感じの今までにないスタイル!

JPOUG さんありがとうございます!

ペアプロの準備

自己紹介、使用言語の確認などを行った後、早速ペアプロ開始です。
Groovy 卓は、最初 5 人でしたが、使用言語確認の際、お一人が移ってこられたため 6 人 3 ペアとなりました。

私はアジャイルサムライ横浜道場での道場仲間でもある @grimrose さんとのペアでした。
IDEIntelliJ IDEA、テスティングフレームワークは Spock を選択。

物理的な環境としては、私の PC を使用し、@grimrose さん持参の HHKB を繋いで行いました。
この構成は意外とよかったです。*2

@grimrose さんが Gradle を使って開発用ディレクトリ構成を作成して準備完了です。*3

ペアプロの開始

お題は、TDDBC 大阪で使われた「自動販売機」でした。

課題の解決法について、紙にメモを取りつつアイデアを出し合い、方針が決まったところでコーディング、課題が一区切りつくごとに消し込み(done)という形で進めました。

ペア交代には明確な基準があった方がよかったかもしれませんが、何となくで交代していました。
割とこまめに交代していたので、どちらかがずっとドライバーという状況に陥らなかったのはよかったと思います。

Groovy/Spock を始めたばかり、Java 経験なしのため、色々と足を引っ張った気がしますが、とても楽しく進めることができました。もう少し、言語やフレームワークに習熟して、議論できるように精進します。

CafeSpock でも思いましたが、パラメタライズドテストと Unroll アノテーションの組み合わせがとても便利でわかりやすいです。

ライブコーディング

途中、何組かプロジェクタを使ってのライブコーディングが行われました。

印象に残ったことをざっくりまとめです。

  • @kyon_mm さん、@pocketberserker さんペア
    • コーディング開始まで 30 分近く、テストについて議論を進めていたのは非常に参考になりました
    • done の定義重要!
  • 人の git は git じゃない!
    • やっぱり"git"じゃなくて"g"ですよね! by @tomy_kaira さん
  • Haskell で TDD
    • 初めて見た!
  • @tomy_kaira さんがライブコーディング2回 + 闇LT という無双状態。

言語、エディタ、IDE、コーディングスタイル、設計思想、それぞれの違いを色々見ることができて面白かったです。

その他

  • COBOL ペア誕生か!と思いきや環境がありませんでした・・・
  • 本日もランチ、スイーツおいしかったです!
  • 後半、なぜか @inda_re さん登場
    • クーラーボックスの回収ついでだそうです
  • ペアプロ中にビール飲み過ぎて手が震えてるが人いたらしい・・・

ビアバッシュ

ピザなどが運び込まれてビアバッシュ開始。*4

ビアバッシュざっくりまとめです。*5

  • Scala 分かんないけど Spec2 とりあえず使い難そうなのは分かった
  • goos 本はいい本だ!
  • Gradle 便利そう!
    • 手動コミットしてるようじゃまだまだ、という意味がよく分かりました

主催の @kyon_mm さんのタイムリミットが来たのでお見送りした後、みんなで片付けて終了でした。*6

会場を提供して頂いたオラクルさん、@yokatsuki さん、運営スタッフのみなさん、参加者のみなさん、ありがとうございました!

*1:あの煽り文なら仕方ないかもですが

*2:休憩時間とかに触らせてもらえばよかったと後で思いました・・・

*3:ごめんなさい。この辺まだよく分かってません

*4:そもそも、昼間から飲んでんじゃんというツッコミはなしで

*5:この辺、疲れのせいで記憶が曖昧です…

*6:最後の最後に非常に残念なことがあったんですが、それはそれ