読書会(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」は「ペックス」と発音する
super T>, extends T> への変更例を考える
-->宿題!!
□P134
「受け付させ」->「受け付けさせ」の誤植か?
明示的型パラメータの書き方は重要!!
-->staticメソッドなら Union.
-->インスタンスの場合 this.
-->union
-->できない!!
□P136
2番目のswapのほうが良い理由とは?
-->宣言が単純だから
-->JDKのAPIでも2番目の書き方が多い
以上
次回 は Item30 から
[ 戻る ]