第2回 WEwLC読書会 参加

昨日はWEwLC読書会の第2回に参加してきました。

第2回読書会 - Working Effectively With Legacy Code読書会

いやぁ、いろいろ楽しかったですよ。やっぱり議論が出来るっていいなぁ。以下各章の議論等の感想を。

Preface
前回前書きのところを飛ばしてしまったのでそこをちゃんとしようと。発表はid:takagimasahiroさん。今回も大阪から参戦。お疲れ様です。ここではきちんとこの本でのLegacy Codeの定義がしてあって、「昔先輩が書いたgdgdなあのコード」のことではなく、「昨日書いたテストがないそのコード」ってことですよと。なので参加者みんなLegacy Code書いちゃってるよってことですな。今までTDD系の本はゼロからの開発でTDDでこのように開発をドライブしようぜ!というものだったが、この本は既に目の前にあるテストのないコードに対してどうメスを入れていくか?という本ですよと。まぁ、全体を通して「がんばれ!」というエールがこめられてると。
Chapter6 I Don't Have Much Time and I Have to Change It
今回は6章の後半を担当させてもらいました(前半の方が体調不良で参加できなかったので一部前半も担当)。読むのは読んでいたんですが、資料をまとめる時間がなくて、当日ちょっと早めに家を出て会場近くのスタバで資料を作ってました。まぁそういうダメダメな資料をベースにした発表だったわけですが、途中いい感じでいろいろとツッコミが入って、私的には大満足です。内容としてはテストが書かれていない既存のコードに新しいふるまいを追加したいが普通に入れたらテストできないので、追加部分をきれいに切り離してそこだけテストしちゃいなよ!というものですね。まぁ、ここに書かれているものだけでは対処はできないと思いますが、こういうやり方もあるよってことでそれに名前がついてるということに意義があるということで。あとprivateメソッドに対するテストは?という定番もでてきて、最近だとprivateメソッドでテストがしたいものがあるってのはよくないんじゃね?別の責務が混じっている可能性があるので切り出しを考えてみたら?というような話があるようです。この本でも後半そのあたりが議論されるようなので見とかなきゃ。
Chapter7 It takes Forever to Make a Change
mootohさんのてぬぐいホワイトボードメソッドで解説いただきました。何をやるにも反応スピード重要だよねと。なにかアクションを起こした反応が1分後に返ってくるようなツールだったりすると反復してやる気にならないよと。なので、依存関係のあるクラス間にInterfaceをいれることによって部分コンパイルをできるようにするとよくね?とかが書いてあった。発表者のmootohさんはC++系の方だったのでC++としてはこのやり方は有効だと。Javaだとどうだろうとかそのあたりもきっちり議論がでていたのでこれまた面白かった。
Chapter 8 How Do I Add a Feature?
tenkomaさんと川西さんのお二人が担当。TDDの説明の部分はいろいろと不満があったなぁ。やっぱ1歩がでかいし、例が微妙・・・まぁ簡単な例過ぎるとリファクタリング部分の説明がしにくいのはわかるんだが、中途半端にややこしいものになってるので、TDDという新しい考えを知ろうとしている人が、TDDもよくわからんし、例も良くわからんということにならんか心配になりますな。後半は継承を使った差分プログラミングどうよ?というお話。まぁ継承を使うのは気をつけないといかんのだよという話をいろいろ議論できたのは面白かったですね。継承を使いたくなったらそれ委譲でできないかと考えるのはまぁ当たり前にやりましょう。
ふりかえり
結局KPTしませんでしたね・・・Wiki上でそのためのページを後で作るか。えっと、私のほうからJavaEE勉強会でこうやってますよというフィードバックをさせてもらって、次回からはあらかじめ要約をWikiにまとめていきましょうというJavaEE勉強会-DDD読書会方式を試すことになりました。今回担当者の方が体調不良ということになったわけですが、まぁこういうことは今後も想定されるわけで、みんなでフォローし会える形がいいなと。
懇親会
いやぁめちゃめちゃ面白かったですよ。id:n_shuyoさんのExcelデレターン爆発。結局4時間くらい飲み会をしてましたがほとんどExcelスゲーな話でしたな。Excel Conference実現に向けて前に進まなきゃ。あとsilverlightはちょっと調べようかなと思いましたよ。こういうお話が聞けるというのも懇親会の醍醐味だなぁ。前半はちょっと押さえ気味のつもりだったんですが、後半はやっぱりしゃべりすぎたと反省・・・だって楽しかったんだよ

今回の最大の収穫は最初からid:t-wadaさんがいたことですな。要所要所で的確なフォローがあるので、ほんと楽しかった。議論が前にがんがん進むので楽しい時間をすごさせてもらいました。

最後に会場提供いただいたサイボウズ・ラボさんおよびid:n_shuyoさんありがとうございました!

そして幹事のせとさんお疲れ様でした!