第二回チキチキ 日本ペアプログラミングの会java-ja支部会(仮)に行ってきた。

さてと、日本ペアプログラミングの会、と聞いたらほいほいでかけないわけないじゃないですか。最近自分はTDD信者ではなくなりつつあります。これについては別のエントリで書きますね。
それとですね、JUnitMaxとQuickJUnitのデモをしてきました。JUnitMaxについては、後できちんとレポートとか書きますね。思った以上にいい感じ。前から、来るよねー、とid:t-wadaさんより声をかけられていたので、覚悟はしていたけどきちんと打ち合わせしてなかったorz。t-wadaさんが語っている裏で、サンプルコードを修正したりしたけど、もうちょっと仕掛けが必要でした。Yoshiori氏のように、なかなか行きません。
さて、簡単にふりかえっておく。

  • Eclipseプラグインばっかり作っていると、時代の波に取り残された。assertThatとか普段使ってない。JUnit4ベースでも自動化するのに工夫が必要だから動けない。
  • テストメソッド名に日本語は確かに使えるけど、使わなくなっちゃった。エンコードに気をつけないといけないのはめんどい。テストメソッドって、簡単な英文なので、できるだけ英語で書いています。テストメソッド自体を呼び出すわけではないので、あんまり気にはならないと思うけど、最近テストの初期化回数で時間を食わないように後でテストメソッドを一つにまとめることもあります。
  • id:daisuke-m から プロダクトコードを動かしたらテストケースも動いてほしいと。「ツクレカス。」って言葉を(daisuke-mからjava-jaで)聞いたなぁ。そいや。まぁいいや。

第一回チキチキ日本ペアプログラミングの会java-ja支部

行ってきました。java-ja。初参加です。懇親会で自己紹介の時に今月のPlugin勉強会をつぶした張本人*1で、最近NetBeansRuby使ってSWTアプリを書いているkompiroです。どんだけMなんだよって言われましたが、楽しかった。java-jaはアウェイなのかホームなのかと聞かれてどっちなんだろうと小一時間考えましたが、そういう難しいことはよくわかんねー、と思いました。*2

珍しくじゃんけんに勝ち続けられたのでid:t-wadaさんとペアプロできました。せっかくなのでペアチェンジを知らせるイベントタイマーを作りたいと申し出たら快く引き受けてくださり、短い時間のなかあーだこーだやっていました。結果的に出来上がってきたものは、シンプルなクラスになりました。ペアプロは普段からやってますが、解法の分からないものを相談しあいながら作るのにいい方法だと思います。逆に明確な解法が分かっている場合は無理にペアを組まなくてもいいんじゃないかと思っています。解法が明確に分かっている場合は片方が常にドライバになってしまって、リズムに乗りにくくなります。そうなると一人でソースを組んでいるほうがリズムに乗りやすくなってしまうのです。確かにタイポなどのミスは減りますけれども。これはあくまで自分の所感です。タイポはなるだけ減らすべき!ならばずっとペアで作業でもいいと思います。

TDDも一つの解法であり、このやり方でなきゃだめって思うのは違うと思うのです。TDDは確かにいい方法です。が、引き出しの一つくらいにしておいたほうがバランスが取れると思います。「かなづちを持ったら何でも釘に見える」というのはよろしくないでしょう?何でもかんでもTDDをやろうというのは釘に見えるのと同じになってしまうんではないでしょうか。TDDはテストからコードを書くことでクラスのインターフェースを切り出していきます。が、UMLを使ってモデリングをしたい派からすると、その作業は冗長なんですよね…。たぶん今回id:t-wadaさんとのペアプロで出来上がったコードは、モデリングじゃ絶対作れない自信が僕にはありますが。モデリングはモデリングで、実装を意識しなさ過ぎると動かない設計になっちゃうじゃないですか。その辺りは当人の実力なのかもしれませんが。

プログラマの道具箱にはUMLペアプロもTDDも入りますが、チームのメンバーによって使い分ける必要があるんじゃないでしょうか。要するにメンバーが気持ちよく使える道具を使っていこうぜ!なんす。

なんてかたくまとめをしてみましたが、僕自身結構ゆるゆるなんで、java-jaのみなさまよろしくです。後半ペアを組んだイヌビームさん、Ruby教えてくださってありがとう。yamashiroさん幹事お疲れです。id:yoshioriさんJAVAはモテっすね。*3

ところで蟹なし北海道で7000Overってないよ。すげー飲み食った。*4

*1:勉強会で良く集まるメンバから同じ日にやるんだけどどうしようと聞いてみたら「もうjava-jaに申し込みましたよw」といわれたので、どうせ勉強会やるんだったらより面白そうな方へ集まろうと思って。

*2:なぜか懇親会でEclipsePlugin話ばっかしてた。

*3:最近はRubyもいいし、昔からPython萌えですけれども。PerlとかPHPは…。

*4:参考:JSUGのときは2700円とかだったw