Skip to content

Instantly share code, notes, and snippets.

@sunaot
Created October 14, 2010 01:13
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save sunaot/625336 to your computer and use it in GitHub Desktop.
Save sunaot/625336 to your computer and use it in GitHub Desktop.
直交性と DRY

直交性と DRY

「達人プログラマー」からの抜粋。

直交性とは

コンピューティングの分野では、ある種の独立性、あるいは分離性を表しています。 2つ以上のものごとで、片方を変更しても他方に影響を与えない場合、それらを直交している と呼ぶわけです。うまく設計されたシステムでは、データベースのコードはユーザー・ インタフェースと直交しています。つまりデータベースに影響を与えることなく インタフェースを変更したり、インタフェースを変更することなくデータベースを交換できたり するのです。

DRY とは

Don't Repeat Yourself, 頭文字を取って DRY とも呼ぶ。

信頼性の高いソフトウェアを開発して、開発そのものを簡単に理解したりメンテナンス できるようにする唯一の方法は、DRY原則に従うことです。

すべての知識はシステム内において、単一、かつ明確な、そして信頼できる表現になって いなければならない。

ヒント11: DRY-Don't Repeat Yourself (繰り返しを避けること)

直交性と DRY

直交性とのつきあい方

直交性は27ページで紹介したDRY原則と密接に関連しています。 DRY原則ではシステム内の二重化を最小限に抑える事を目的としていましたが、 直交性ではシステムのコンポーネント間の依存関係を最小限に抑えることを目的としています。 気の利かない台詞かもしれませんが、直交性の原則をDRY原則と密接に結合すれば、 あなたが開発しているシステムはより柔軟で、より理解しやすいものとなり、デバッグ、 テスト、維持もより容易なものとなるのです。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment