TDD Boot Camp北陸 - 感想とか

感想と、参加した上での今後の目標とか書いていこうかなと思います。

旅立ち

 実は新幹線に乗り遅れそうでしたw。まじであせりましたが、なんとか乗れてよかった。途中米原からの特急に乗ってからは一緒に行った友人とPC立ち上げて「あーだこーだ」言いながらペアプロしてました。ぶっちゃけ周りからはかなりイタイ感じでみられていたんじゃないかとw。

id:t-wadaさんのお話

 ジョジョスティール・ボール・ランTDDに関するお話。以前の資料は拝見させていただいてのですが、やっぱり直接聞くのは全然違いますね、三本柱の例えが非常に印象的でした。あとassertファーストに関してはどこかの資料か本で読んでたはずが忘れていました・・・反省してちゃんと実践します。

TDD & ペアプロ

 お題に対してテストファーストペアプロでコーディングするという形式。前後半でペアを替えてやったのですが、やっぱりペアプロは楽しいですね〜。ペアになった人の意見をダイレクトに聞けるのが何より良いです。仕事でもずっとペアプロやってますがいつもと違う方々とペアプロできて非常に勉強になりました。自分とペアを組んだ方も楽しいと思っていただけていたら良いのですが・・・、そのあたりの感想を聞くのを忘れていた事を非常に後悔してます。

コードレビュー

 みんなが書いたソースのコードレビューを行ったのですが、これがまた凄く勉強になりました。今回はいろいろな言語でそれぞれTDD&ペアプロしていたので各言語でのテストの書き方とか知ることができて良かったです。以下ちょっとした感想。

  • NUnitのパラメータライズドテストの書き方がシンプルでいい。
  • RSpecはやっぱり直感的でいいしレポーティング機能がまた素晴らしい。
  • PHPはLLの中ではJavaと構文が結構似てることもあって(自分も以前使ってたこともあり)わかりやすかった。
  • Pythonのドキュメント機能が格好良かった。
  • C#いい!
  • というかJavaが一番もっさり感があった(他人の芝は〜的感覚のせい??)

夕食、その後

 鍋が美味しかったです。温泉もよかった〜。id:t-wadaさんにテストの事、設計の事、DDDの事、Mockの事とか日頃自分が疑問に思ってることを聞けて凄く勉強になりました。丁寧にお答え頂きほんとにありごうとございます。あとtwitterやってないと人として認められない的なことを大阪の人に言われたのでさっそくtwitterアカウント取得しときましたw。

2日目の午前中

 レガシーコード(テストの無いコード)に対するテストの書き方をid:t-wadaさんとid:katzchangさんがペアプロしながらライブコーディングする形式。レガシーコードに対して他人がテストを書く所を生で見れたのが一番よかったです。やはり他の人の考え方とかアプローチの仕方とかは勉強になりますね。

2日目の午後

 午前をふまえた上で、各言語に分かれてレガシーコードに対してテストを書いていくという形式。Javaのお題になったソースコードはそもそもテストを書く事に対して敷居の高いGUIのアプリケーションだったので中途半端な所で時間が来てしまい個人的に不完全燃焼感がのこったのですが、1つのソース(課題)に対して複数人が取り組みながらコーディングしていく形式は面白かったです。ここでも他の人の考えを色々聞けて凄く勉強になりました。

帰り

 帰りの新幹線でもまた友人とペアプロしてましたw。まわりから(ry

全体的な感想

 凄く勉強になりました。特にJava以外の言語で同じ課題に対するテストの書き方を見れたのがよかった〜。いろんな宗教戦争(OSとかキーボード配列とかPCとかテスト用ライブラリとか言語とか)は楽しかったですw。あと、ほとんどの人が複数言語を当たり前のように扱えててSUGEE!って思いました。自分まだまだヘボいなぁというのが再確認できて勉強の意欲が上がってよかったです。

今回参加した結果今後こういうことやっていこうとかいうの

 「勉強になった」「楽しかった」だけでは無く今後どうやっていくかってのもこういう勉強会に参加した後は凄く大事だと思うのでそのへんつらつら書いていこうかなと

  • JUnitにおけるParameterizedテスト機能の導入検討(この機能が提供する高価の本質も含め、どういう状況で一番効果があるか等の調査)
  • assertファーストの実践
  • DDDを参考にしたサンプルソースを見た上でのDDDの本質の探求
  • Hudsonのプラグインを作ってみる
  • twitterのアカウントを作る(作成済み)
  • Mockを使ったテストに関して自分の中でもう1度ちゃんと整理する(エントリー書こうかなぁ)
  • Emacsをもっと使いこなす

最後に

 主催者の方々、参加された方々ほんとにお疲れさまでした&ありがとうございました!