XPJUG-Q 第9回会合追加の記録
余談
会合の途中で29日に書いた
- モデルがビューに依存している
- モデルがコントローラに依存している
ってのに言及される。あの時は気付かなかったけど、(誰だっけ)が言っていたstrutsでビューとモデルとコントローラを一緒に書くのは上記にはあたらない。だって、クラスを分けない選択肢はありだから。わざわざMVCを分けているのに、モデルがビューやコントローラに依存しているのはもってのほかだよ。
ペアプロ
ペアプロするためにノートパソコンを持っていたはいいが、Eclipse をインストールしてないもんで使えず。ごめんなさい、Meadow+JDEEな人なのよ。
で、植山さんのノートパソコンでペアプロ開始。つーても、ドライバ一人にナビゲータ8人状態。なにかヘマすると何人も指摘してくれる。実際にこれやったら、工数かかるけど品質は間違いなく上がるよ。
昨日書いたテストメソッドを補足する。たとえばTargetがメールアドレスが正しいかどうかを調べるメソッドを持つ場合、こんなテストを書く。
public class TargetTest extends TestCase { public void testメールアドレスOK() { assertTrue(target.isMailAddress("admin@xpjug-q.gr.jp")); } public void testメールアドレスNG() { assertTrue(target.isMailAddress("@xpjug-q.gr.jp")); assertTrue(target.isMailAddress("エロい人@xpjug-q.gr.jp")); assertTrue(target.isMailAddress("admin@xpjug-q..jp")); } }
ひとつのテストメソッドで複数のテストをするのは、どこでエラーになったのかが分かりにくい。さらに、会合の中で出たアイディアを上のコードを変更する。
public class TargetTest extends TestCase { : public void testメールアドレス_ユーザ名なしエラー() { assertTrue(target.isMailAddress("@xpjug-q.gr.jp")); } public void testメールアドレス_ユーザ名に日本語文字エラー() { assertTrue(target.isMailAddress("エロい人@xpjug-q.gr.jp")); } public void testメールアドレス_ドメイン名エラー() { assertTrue(target.isMailAddress("admin@xpjug-q..jp")); } }
宴会
一次会。入門CVS第2版を持ってきて、みかままさんにサインを要求する人がいたり。某社長は、サインを求められたときに(自粛)のイラストを書いて、読者を後悔させたらしい余談も聞けた。今回の新潟地震で久保田が壊滅的な被害を受けているのが話題になり、久保田千寿のボトルを注文。その久保田を飲み始めてしばらくすると、みかままさんが壊れはじめた。その壊れ方ってば(自粛)。
次回は忘年会の日程優先で12月18日に決定。