読書会(Effective Java (Second Edition))第4回議事録

[ 戻る ]


Java読書会 「Effective Java(第2版)」を読む会 第4回
日時: 2008/11/29(土) 10:00-17:00
場所: てくのかわさき 第5研修室
出席者: 遠藤、小棚木、松永、尾関、村山、高橋(智)、高橋(徹)、岩室、鈴木、柴田
    前山、吉本、根本


■Item18 抽象クラスよりインタフェースを選ぶ
□P92,93
@Overrideが、getメソッドとsizeメソッドに付いていないのは?
-->AsbtractListの実装を参照するしかない
  -->@Overrideを付けてもOKなのか?
   -->コンパイラのバージョンに依存する
-->本書は、実装のないメソッドには@Overrideは書かない方針

□P94
staticメソッドの命名規約には何かあるか?

□P95
JDBCのインタフェースは、JDKのバージョンが上がるたびにメソッドが大量に増えている

インタフェースを細かく定義していくと良いのでは? 例:1インタフェース-1メソッド
-->別々のインタフェースで同じ名前のメソッドが有る場合には定義を書き分けられない
  -->メソッド名はできるだけ具体的にすべきか?
-->GWTの設計が同様の方針で変更されている


■Item19 型を定義するためだけにインタフェースを使用する
□P96
「名前空間を汚染されます」->「名前空間が汚染されます」の誤植か?


■Item20 タグ付きクラスよりクラス階層を選ぶ
□P98
初版にはCの共用体(union)の例が掲載されていたが、第2版では削除された


■Item22 非staticのメンバークラスよりstaticのメンバークラスを選ぶ
□P106
2行目の「どれとも」とは?
-->無名であることが他の文法とくらべて極めて特徴的ということか?
  -->"xxxx".length のような文字列もあるのでは?

「プロセスオブジェクト」は一般的な用語なのか?
-->処理の意味


■Item23 新たなコードで原型を使用しない
□P111
Collectionの「?」と「String」とは違う型なのでコンパイルエラーになる
-->addメソッドは引数として「E型」を要求しているので
  -->removeメソッドは引数として「Object型」を要求しているが...
   -->ジェネリックスのメソッドの引数の型は十分に考えて決めよう!!


■Item24 無検査警告を取り除く
□P114
ローカル変数の宣言に@SuppressWarningsを書けるが、Eclipseのエディタにはこのオプションが無い
-->自動でメソッド全体になってしまう


■Item27 ジェネリックスメソッドを使用する
□P126
二つ目の警告メッセージ「add」->「addAll」の誤植か?


■Item28 APIの柔軟性向上のために境界ワイルドカードを使用する
□P133
「PECS」は「ペックス」と発音する

 への変更例を考える
-->宿題!!

□P134
「受け付させ」->「受け付けさせ」の誤植か?

明示的型パラメータの書き方は重要!!
-->staticメソッドなら Union.union(....);
  -->インスタンスの場合 this.union(....);
-->union(....); のような書き方はできないのか?
  -->できない!!

□P136
2番目のswapのほうが良い理由とは?
-->宣言が単純だから
  -->JDKのAPIでも2番目の書き方が多い


以上

次回 は Item30 から


[ 戻る ]