ソフトウェア開発の原則(ことわざ)

ソフトウェア開発には多くの原則がありますが、代表的なものをいくつか紹介します

SOLID原則

  1. 単一責任原則 (Single Responsibility Principle, SRP)
    • クラスやモジュールは一つの責任を持つべきであり、その責任を全うするためだけに変更されるべきです。
  2. オープン/クローズド原則 (Open/Closed Principle, OCP)
    • ソフトウェアエンティティ(クラス、モジュール、関数など)は拡張に対して開かれているが、修正に対して閉じられているべきです。
  3. リスコフの置換原則 (Liskov Substitution Principle, LSP)
    • 派生クラスは、その基底クラスと置換可能であるべきです。つまり、基底クラスのオブジェクトが使用される場所では、派生クラスのオブジェクトも問題なく使用できるべきです。
  4. インターフェース分離の原則 (Interface Segregation Principle, ISP)
    • クライアントが特定のインターフェースに依存しないように、インターフェースは細かく分割されるべきです。
  5. 依存関係逆転の原則 (Dependency Inversion Principle, DIP)
    • 高レベルモジュールは低レベルモジュールに依存してはならず、抽象化に依存すべきです。

DRY原則 (Don’t Repeat Yourself)

コードの重複を避けるべきです。同じロジックを何度も書くのではなく、共通の関数やモジュールにまとめます。

KISS原則 (Keep It Simple, Stupid)

ソフトウェアはシンプルで理解しやすいものであるべきです。複雑な設計や実装を避け、必要最低限の機能を実装します。

YAGNI原則 (You Aren’t Gonna Need It)

未来の必要性を予測して過剰に機能を追加しないようにするべきです。必要な機能だけを実装します。

C#

Posted by hidepon