51.慎重設計方法標識


名前の変更方法に注意してください


標準的なネーミングルールに従うことがよくあります.同じコースに属する他の名前と一致することが第一の目標であることが理解できる.次に,開発者コミュニティで広く受け入れられている名前を用いる.長い名前は避けましょう不明な場合は、JavaライブラリのAPIガイドを参照してください.

あまり便利な方法をしないでください。


メソッドが多すぎるクラスは、熟知、使用、ドキュメント化、テスト、メンテナンスが困難です.インタフェースも同じです.クラスまたはインタフェースは、各機能を完了する方法として提供されます.非常によく使われているときだけ、別の略称方法を望んでいます.不確実ならやらないでください.

パラメータリストは短いまま


4つ以下がいいです.同じタイプの複数のパラメータが連続して現れる場合は特に有害である.順序入力を誤って変更すると、コンパイルおよび実行されます.次に、パラメータリストを減らす方法を示します.

1.複数の方法に分ける。


各分割メソッドは、元のパラメータリストの一部の集合を受け入れます.うまくいかなければ、方法が多すぎるかもしれませんが、直交性が向上し、逆に方法数を減らす効果があります.たとえば、リスト全体の指定した範囲の一部のリストでインデックスを検索する必要がある場合、通常は3つのパラメータ(開始、終了、検索の要素)が必要です.でもjavautil.Listは、サブListおよびindexOfメソッドをそれぞれ与えることによってパラメータを低減する.強力で柔軟で完璧なバランスのAPI.

2.複数のパラメータを組み合わせたアシスタントクラスを作成します。


一般に、これらのアシスタントクラスは、静的メンバークラス[アイテム]に配置される.特に,いくつかの連続パラメータを独立した概念と見なすことができる場合に推奨される方法である.アシスタントクラスによって独立した概念を持つパラメータが得られると,内部実装も簡潔になる.

3.ビルダーモードを考慮する


このテクニックは、パラメータが多い場合、特に省略できる場合に役立ちます.すなわち、すべてのパラメータを1つに抽象化するオブジェクトを定義し、クライアントでオブジェクトのセッションを呼び出して必要な値を設定します.この場合、setterメソッドごとに1つのパラメータといくつかの相互に関連付けられたパケットのみが設定されます.

パラメータタイプ、インタフェースがクラスより優れている


パラメータとして適切なインタフェースがある場合は、そのインタフェースを直接使用します.クラス表現は特定のインプリメンテーションのみを使用しますが、インタフェースはインタフェースのすべてのサブタイプが使用可能であることを示します.

2つの要素の列挙タイプはbooleanより良い


booleanを受け入れると、意味が明確になる以外は、列挙タイプがbooleanよりも読みやすく、書きやすいようになります.後で選択する時も便利です.
public enum TemperatureScale {
	FAHERNHEIT, CELSIUS;
}