今回はメソッドに関することのメモ。今までに読んできたリーダブルコードやリファクタリングの内容と第7章の内容はかぶるものが多かった。それだけ重要だということだろう。メモではかぶってないものをあげておく。
項目40 メソッドのシグニチャを注意深く設計する
メソッド名を選ぶポイント
- 同じパッケージ内の他の名前と矛盾がない名前を選ぶ
- 標準命名規約
- パッケージ名
- 型パラメータ名
- 通常は一文字
- 任意の型:T
- コレクションの要素型:E
- マップのキーと値:KとV
- 例外:X
- 一連の任意の型:T,U,VやT1,T2,T3
- 下手に名前を付けない(クラスがあるのと勘違いする※体験済)
- メソッド名
- 理解可能で同じパッケージ内の他の名前と矛盾のない名前をまずは選ぶ
- 存在する広範囲のコンセンサスと矛盾がない名前を選ぶ
- 便利なメソッドを提供しすぎないようにする
- 頻繁に使用される場合のみ提供する
- 長いパラメータリストは避ける
- 4個以下が目標
- 同じ型のパラメータが何個も続くのは特に有害
- パラメータを短くするには?
- パラメータ型に関してはクラスよりもインタフェースを選ぶ
- booleanパラメータよりも2つの要素を持つenum型を使用する
項目41 オーバロードを注意して使用する
- オーバーロードとオーバライドの違い
- オーバロードされたメソッドの選択は静的(コンパイル時)
- あるクラスの親クラスと子クラスをそれぞれ別々に引数にとる同一名のメソッドがある場合、呼び出されるのは常に親クラスを引数にしている方になる
- オーバライドされたメソッドの選択は動的
- 心がけること
参考文献
Effective Java 第2版 (The Java Series)
- 作者: Joshua Bloch,柴田芳樹
- 出版社/メーカー: ピアソンエデュケーション
- 発売日: 2008/11/27
- メディア: 単行本(ソフトカバー)
- 購入: 77人 クリック: 936回
- この商品を含むブログ (266件) を見る