さて、セミナーです。
会場は満席。しかも、途中退席者がいなかったのがすごいです。
東京にいるとセミナーなどは多くあるので、つまらなかったらすぐに途中退席されてしまうのですが、それとは大違い。ネットだと場所にかかわらず、いろいろと情報が得られます。でも、直接に顔を合わせて情報交換をする場というのは、東京以外だとどうしても限られてしまうのかもしれません。
セミナーは 3 本立て。
まず鈴木さんが人月とソフトウェアの開発に関して。そして、河村さんが DI に関して。
私はバグを防ぐためのソフトウェアの開発に関して。資料はここからお願いします。
いつも通り、Flash で作っているので、要 Flash Player です。PDF 版は後ほど Java Küche のサイトからダウンロードできるようになると思います。
2 部構成で、はじめにコードの書き方に関して。後半がツールや開発手法に関してお話ししました。
Java Puzzlers のようなスタイルでおこなったのですが、ちょっとだけ変えてみました。というのも、Java Puzzlers ではある問題に対する解答はある意味ピンポイントなわけです。したがって、Puzzlers での知見を活かすには、覚えるしかありません。
それに対してもう少し汎用的に使えるようにならないかということを考えてみました。裏のテーマとしては経験や技量に関係なくコードの品質を上げるということ。
そのために考えたのが、実行時のエラーではなくて、コンパイル時のチェックに落とし込むこと。たとえばの例として Typesafe Enum と Generics を持ってきたわけです。
そして、もう 1 つ。アノテーションを使用してエラーのチェックをできないかということ。講演では @Overrride アノテーションを使用しましたが、同じように強制力を持たせたアノテーションを作ることもできます。
たとえば、foo メソッドと bar メソッドがある時に、かならず foo からコールしなければならないといった制約を、アノテーションによって強制することができるのです。
apt で (Mustang であれば javac で)、アノテーションとソースを解析して、foo が bar より先に実行されているかどうかを調べることができます。
こうすれば、アノテーションさえつけておけば、常にソースのチェックをおこなうことができ、品質も向上するのではないかと考えたわけです。
このネタはおもしろいので、そのうち ITpro とかでやるかもしれません。
セミナーの後は Java Küche の設立総会。
総会の最後に丸山先生が挨拶したのですが、先生にしては珍しく黒い服ではありませんでいた。しかも、日焼けで真っ赤。こんな姿、滅多に見られないですよ ^^;;
その後、懇親会。近くにある旬魚酒菜 回というところ。やっぱり、料理がおいしいというのはいいことですね。