リリース打ち上げ飲み会、補足

(via: id:manhole:20040805#1092059878)
第一リリースの打ち上げの飲み会で議論したことがあがって来たので、いくつかコメントします。しかし後に行けば行くほどぐでんぐでんになっていくのがよく分かりますな...

クラスの新規作成は [Ctrl + 1] で行う!!
- Eclipse の新規作成メニューから .java を外す

TDDer養成ギブスの一つ。Eclipse上で右クリック>新規でclassやinterfaceを作成してはならず、テストケースの中でコンパイルエラーを出してからCtrl+1(存在しないクラスの新規作成)でクラスを作成する手順を踏んで、テストからクラスを導出しなければならないという鉄の掟です。そのため、「パースペクティブのカスタマイズ」にてファイル>新規の選択肢からClassとInterfaceを外してしまおうとか、そんな話をしました。

Red ファースト、Red to Green が超重要
- 技術はその時の流行りを使えば良い

「流行りを使えば良い」とは多分言っていなくて、おそらくは、「その場その時のコンテクストに応じて適切な技術を選択すること(選択できるような状態になっていること)が重要」とかそんなことを言ったような気がします。技術よりもテストが重要だよとか、そんな話でしたでしょうか。

テストの可読性ってどうよ
- 特に Mock を使ったときの可読性ってば...

「一ヵ月後にテストコードを読んだときに、テストの意図が一目ですぐにわかるかどうか」。今後の重要な課題として取り組みたいと思います。
Mockを使わずに我慢した第一イテレーションのときには、テスト内では必ずassertXXXメソッドで検証を行うので日本語がテストコードの中にたくさん入っていました。なぜかというと今のプロジェクトではアサートコメント(assertXXXの第一引数で入れるメッセージ)必須というコーディングルールにしているからです。しかし以降のイテレーションでMockを使うときには必然的に日本語使用率が下がり、ぱっと見た目にも何をしているのかが分かりにくいコードになってしまいました。
昨日(id:t-wada:20040808#p4)jMockにコメントをつける機能を模索したのも、このような問題意識があったからです。プロジェクトメンバーとテストの可読性について議論しているときに生まれてきたアイデアでした。
テストメソッド名も日本語でいいのではという意見もありました。ちなみに別の日にひがさんに質問したときにはそんな必要はないと仰っていました。まあそうですよね。
でもチームのためなら日本語メソッド名も一度試してみようかなと思います。みんなテストメソッド名を考えるときに一度固まってしまうので、それならいっそ日本語メソッド名でもいいかもとか考えてしまいます。ただ、なんかいつもくだらない理由で日本語メソッド名って挫折するんですよね。いつも使っているツールが通らなくなるとか、そんな理由だったように記憶しています。

リズム・ココロなど、暗黙知を文字に出来れば!
- 行間を読ませるのはちょっと...
- 文字にまとめると、ライブ感ある時間軸が見えづらくなる

TDDを人に伝えるときに、文字媒体では時間間隔や感情が伝わりにくいなぁという悩みです。倉貫さんはどうしているかな...
「行間を読ませるのはちょっと」というのは、Kent BeckのTDD本の対象読者レベルが高いのではないかという話でしたでしょうか。行間からいろいろ読み取らなければならないのは読む側にとっては面白くもあるけど、やっぱり負担なのではないかと。だから倉貫さんの本に期待だとか、そんな話だったと思います。

ペアプロ100人斬り (コーチ)

そんなこと言ったっけか(^^; 100人まであと何人かな...