デザイン上の望ましい特徴
2024-10-12 14:21:30 0 報告
ログインして完全な内容を表示
著者の他の作品
概要/内容
最小化複雑度
設計の主な目標は、複雑さを最小限に抑えることです。「賢い」設計を避けてください。賢い設計は通常、理解しにくいものです。むしろ、「単純」で「理解しやすい」設計を行うべきです。あなたの設計があなたが特定の部分に浸透している間に、プログラムのほとんどの他の部分を安全に無視することができない場合、その設計は役目を果たしていません。
維持性が高い
メンテナンスしやすいことは、メンテナンスエンジニアに向けて設計されていることを意味します。メンテナンスエンジニアがあなたのコードに対して何を問うかを常に考えてください。メンテナンスエンジニアをあなたの対象読者として考え、そしてシステムを自明なものに設計してください。
最小連通性
最小限の連通性は、プログラムの異なる部分間の接続を設計段階で最小限に抑えることを意味します。強い内聚性、弱い結合性、情報隠蔽の原則を用いて、互いに接続を最小限に抑えるクラスを設計します。最小限の接続は、統合、テスト、メンテナンス期間の作業を最小限に抑えます。
再利用可能
再利用性は、システムを設計する際に、その各部分を他のシステムで再利用できることを意味します。
精緻
精緻は、システムを設計する際に、余分な部分を持たないようにすることを指します(Wirth、1995年、McConnell、1997年)。伏爾泰は、本の完成は、それに何も追加できないからではなく、何も取り去ることができないからであると言いました。ソフトウェアには特に当てはまります。他のコードを修正する際に、追加のコードの開発、検証、テスト、そして考慮が必要です。ソフトウェアの未来のバージョンは、追加のコードと後方互換性を保つ必要があります。
標準化
システムが外来の部品にどれだけ依存しているかによって、それを初めて理解しようとする人に対して恐ろしさが増す。標準化された一般的な手法を使用し、システム全体に親しみやすい印象を与えるようにしましょう。
拡張性
拡張性は、システムの下部構造を壊さずにシステムを強化できることを意味します。システムの一部を変更することで、システムの他の部分に影響を与えることなく、最も可能性の高い変更がシステムに与えるトラウマが最小になります。
高扇入
高扇入は、あるクラスを使用するクラスの数が多いことを指します。高扇入は、システムが設計上システム内の低レベルのユーティリティクラスを十分に活用していることを意味します。
中低度扇出
低から中程度のファンアウトとは、クラスが他のクラスを低から中程度しか使用しない場合です。高いファンアウト (約 7 を超える) は、クラスが多数の他のクラスを使用しているため、複雑すぎる可能性があることを示します。研究者らは、ルーチン内で呼び出されるルーチンの数を考慮しても、クラス内で呼び出されるルーチンの数を考慮しても、低ファンアウト原則が有益であることを発見しました。
移植性
可移植性は、システムの設計が、別の環境に移動するのを容易にすることを意味します。
層別設計
層別設計は、分解層の層別をできるだけ保持し、システムをどの層でも確認でき、一貫性のあるビューを得られるようにすることを指します。システムを設計する際に、1つの層でのみ確認することができ、他の層には深入する必要はありません。
0 コメント
次のページ