TDDBCに参加したのでそのメモ

TDD Boot Camp 大阪 1.0( #tddbc ) : ATNDに参加してきたのでそのメモ

和田さんの講演

ソフトウェア開発の三本柱とか、の話。TDDとは開発を促進するためのテスト、ということだったのでワークショップではなるべくそれを意識することに決める。
その他の色々はまあスライドがどっかに公開されると思うので、そっちを参照すればよいでしょう。

ペアプロのデモ

いきなり他人のPCでコーディングするのって大変だよね。ということか (^^;
まずはどんな結果になったらよいか(assertThat ...)から書くという話。

ワークショップ

なぜか吉岡さんとペアになってもた。
午前中は私がドライバーということにしてテストを書いたり、コードを書いたり、テストを書く前にコードを書いてしまったり。
午後はドライバーを交代して実装した。subject に対してあまり考えずにテストを書いていたので、途中和田さんから

describe VendingMachine do 
  it "100円投入できる" do 
    subject.put_in 100
    subject.total.should == 100
  end
end

ではなくて

describe VendingMachine do
  context "100円投入できる" do 
    before do 
      @vm = VendingMachine.new
      @vm.put_in 100
    end
    subject { @vm }
    its(:total) { should == 100 }
  end
end

みたいな話を聞く。しかし、最初から「綺麗な」状態にテストを書くのはなかなかハードルが高い。
懇親会のLTでも Fragile Tests という話があって、テストをメンテナンス可能な状態に維持するのは難しそうだと感じた。

講演2

吉岡さんの経験談を交えた話。わりと話半分で聞いてた。サーセン...

講演3

関さんのTDDを変形する話。正解があるわけではなくて、TDD自体についても疑いを持つことが重要、というような話。
ジャンケンで dRuby本をゲット。

その他

やっぱり懇親会が本番か、ピザを食いつつ色々ダベる。闇LTとかあった。
なんだかんだで22時過ぎくらいに帰った。

感想

TDDはひとりでも始められるとあったけど、やっぱり一人でというのは寂しいよね。懇親会の雑談や、闇LTでもチームにTDDを導入したりする時の困難さをいろんな人が言っていた。
あとは環境構築のハードルが高い言語とかもあるのかもしれない。
一つだけ不満点を挙げるとすれば、他のペアの書いたソースにアクセスする手段が用意されていなかったことかな。結構 github に上げてる人とかもいたと思うけどどうだろ。
ちなみにウチは上げた https://github.com/koko-u/tdd_sample