TDDBC横浜 Second Seasonに参加しました
9/1に行われた
TDDBC横浜 Second Season
にRuby/RSpecで参加してきました。
2012/09/01 TDD Boot Camp 横浜 Second Season #tddbc - Togetter
参加の経緯
TDD Boot Camp 福岡 2 #tddbc - Togetterに参加してた@dekokunとかが楽しそうだったので前々から気になってはいた。
和田さんと一緒にペアプログラミングとか嬉しすぎる!!!!やばい!!!萌えーーーーー!!!!! #tddbc
— でこくんさん (@dekokun) 11月 26, 2011
それでもしばらく参加しようとしてなかったのは、
仕事が忙しいことを言い訳にしてたのか、ペアプロすることに自信がなかったのか。
あるいは、TDDに対してそれほど本気でなかったのかもしれない。
ともかく、先日参加した#scmbc tokyo 3でTDDBCの紹介があり、
今回は自然な流れで参加することができた。
※ 募集が始まった時tddbcで一緒のテーブルだった@STAR_ZEROさんが素早く教えてくれたので、
最初の抽選では漏れてしまったけど、繰り上がりで参加できた。
マジでありがとうございました。
準備した環境
最初は今仕事で使っているPHPで申し込んだのだけど、先の事を考えてRuby / RSpecに切り替えました。
こんなのもあるし :)
- Macbook Pro('15), mountailn lion, US配列
- Terminal + zsh
- Git
- Sublime Text 2 (Vintage Mode)
- Ruby 1.9 + RSpec 2 + autotest
- Google IME + KeyRemap4Macbook(左右コマンドキーワンショットを無変換・変換に)
最初にペアを組んだ方が全くといっていいほど同じ環境だったので非常にスムーズだった。
違ったのはIMEの切り替え方法ぐらい。
Java / JUnit のTDDデモを見ながらRSpecで追いかけてみた
デモペアプロを見ながらこんな感じでやってたら、即座に@t_wadaさんにcontext使って構造化しようとか、letじゃなくてsubject使うといいよとかアドバイスを頂いた(言い訳するとcontext前者はJUnitの書き方に引きずられた感...orz)。実際に修正してもらうときにvimプラグインを有効にしてたら、「宗教上の理由でVimは使えないんですよ...」とおっしゃってたのが印象的だったw
RSpecのよりよい書き方はRSpecというプレゼンとか
とかで勉強していきます。
お昼休憩
同じテーブルの人たちでポジションペーパーを見ながら、今どんなことやってるとかを話しながらお弁当食べた。
「TDDいいと思うしやりたいと思うけど、なかなかできないよねー」とかとか。
あとグリーンバンドを買いました。
ペアプロ
2回め終了時のコードがこちら:
fukayatsu/tddbc-vending-machine
改めて見るとコミットタイミングが微妙だし、TDDのサイクルも適当になってしまっている。
チートシート見るとかとか、TDD本を写経して改善したい。
楽しかったが、かなりハードだった。毎日ペアプロしてる人はすごいなー
イベント中にポチったものとか
↓ ほんたったは自宅用と会社用に複数
↓ こっちは懇親会でじゃんけんで勝って頂いたもの(横浜賞とのことでした)
凶器になりそうなぐらい厚い。以前これの読書会をやっていたそうです
xUnit Test Patterns: Refactoring Test Code (Addison-Wesley Signature Series (Fowler))
Tweetsを一部抜粋
技術書の「写経」の方法。 1.ローカルで使える SCM を用意 2.「ほんたった」などで対象の本を固定 3.ひたすらサンプルコードを写して実行 4.実行するたびにコミット(コミットログにページ番号を含める) 5.疑問点があったらコミットログや本に書き込む 6.章ごとにタグを打つ
— Takuto Wadaさん (@t_wada) 2月 12, 2010
ある程度、やることリストを書いておいたほうがいい。一歩一歩進んでいて、どこにいっているのかわからなくなくなるために。#tddbc
— Yotaro TAKAHASHI さん (@PoohSunny) 9月 1, 2012
#tddbc テスト駆動開発のコツ:一番単純なところから探す。何もしないときにどうなるか。
— しんやさん (@shinyaa31) 9月 1, 2012
和田さん:『チャレンジしてもらいたいのは"ゴールから書く"。何を達成すればゴールになるのかを考えながら。』 #tddbc
— しんやさん (@shinyaa31) 9月 1, 2012
↑ 例えば、asertから書くとか
何かやる時は1回目は普通に書いて、2回目で匂いを感じて、3回目が発生したら重複をまとめるという感じが、良く言われるタイミングかな。 #tddbc
— Tomohiro Hashidateさん (@joker1007) 9月 1, 2012
↑ 2回目、場合によってはコメントでTODO書いたりするんだろうと思う
仮実装でテストがグリーンになったらコミット。リファクタリングしてグリーンになったらコミット。 #tddbc
— 「原発が無くても安心の社会」に一票さん (@aetos382) 9月 1, 2012
↑ 最後のQAで手動コミットはオワコンという指摘もw
デフォルトのgitkは見づらいですね。Macな人はSourceTreeおすすめ #tddbc
— sue445さん (@sue445) 9月 1, 2012
クリーンコードのボブマーチンですらテストファーストが辛くなる→自分を戒めるためのグリーンバンド #tddbc
— sue445さん (@sue445) 9月 1, 2012
↓ 昼休みに購入
目標としては一つのテストメソッドで一つのアサーション #tddbc
— すたぜろ(けん)さん (@STAR_ZERO) 9月 1, 2012
(何が失敗しているかわからない)グレー(表示上はレッド)はレッドより避けたい #tddbc
— Atsuo Fukayaさん (@fukayatsu) 9月 1, 2012
it "hogehoge"を列挙してから、それぞれを記述していくのもありなのかー #tddbc
— Atsuo Fukayaさん (@fukayatsu) 9月 1, 2012
ピサ!今日の懇親会! #tddbcinstagr.am/p/PB3FXtv23H/
— ずきゅ~んたんさん (@ZuQ9Nn) 9月 1, 2012
気のせいか、いつもの勉強会のピザより美味しかった
#tddbc 横浜道場道場主『いやぁ、見積り難しいね!』(※おっぱいアプリのプランニングポーカーでのお話です)
— しんやさん (@shinyaa31) 9月 1, 2012
↑ 相対見積りが大事、というのを実感できたw
#tddbc 一発で決まった!w yfrog.com/kgc6ojyj
— しんやさん (@shinyaa31) 9月 1, 2012
じゃんけんとは言え、人から本を貰うというのは重いものだな、と思った。
#tddbc で、いただいた本について書評を書いてブログに載せるというミッションが・・・。
— たのっち@XP祭りの仕込み中さん (@dproject21) 9月 1, 2012
800ページ超...。
#tddbc 横浜 Second Season の記念写真です。 twitpic.com/aq6nzl
— せとあずさ♂さん (@setoazusa) 9月 2, 2012
おわりに
会場を提供していただいた、株式会社アットウェアさん、
スタッフの皆さん、
一緒にペアプロをしていただいた皆さん、
本当にありがとうございました!!
引き続きTDDを自分のものにするのと、頂いた本をなんとかするのを頑張ります!