Javaコードスタイルの7つの黄金ルールとは何ですか?
Javaコーディング規約の7つの原則:
- 単一責任の原則:クラスは単一の機能または責務のみを担当する。
- OCP(オープン・クローズド原則):ソフトウェアエンティティー(クラス、モジュール、関数など)は拡張に対してはオープンで、修正に対してはクローズでなければならない。
- リスコフの置換原則(LSP、Liskov Substitution Principle):継承を受けたサブクラスは、スーパークラスのオブジェクトを置き換えることができ、プログラム内の振る舞いが変わらない場合にのみ、スーパークラスの機能を拡張できます。
- インターフェイスセグレーションの原則(ISP):クライアントは必要のないインターフェイスに依存すべきではなく、クラス間の依存関係は最小のインターフェイス上に構築されるべきです。
- 依存性の逆転の原則(DIP):上位のモジュールは下位のモジュールに依存するのではなく、抽象インターフェイスに依存する。また、抽象インターフェイスは具体の実装に依存するのではなく、抽象インターフェイスに依存する。
- LKP(ディメータ則、最小知識原則):オブジェクトは他のオブジェクトに関する知識をできるだけ持たず、直接隣接するオブジェクトとのみ通信する。
- コンポジション/アグリゲーション再利用原則(CARP):コードの再利用を図るために、継承関係ではなく、コンポジション/アグリゲーションの関係を優先的に使用します。