DRY原則
1. 原則
Don't repeat yourself(同じことを繰り返すな)
- システム中に重複したデータや機能が存在してはならない。
- 重複したデータや機能は一箇所にまとめ、重複した状態が起きないようにする
2. 根拠
整合性を維持するコストがかかる
- データや機能が重複して存在している場合、それらを変更する必要に迫られた場合、変更対象と重複している全てのものに対して正確に変更を加える必要がある
- 仮にこの時、変更漏れが発生した場合、システム中に致命的な不整合が発生してしまう。そして、多くの場合、復旧は困難である
- 一方、データや機能が重複していなければ、必然的に変更は一箇所で済むので不整合を心配することはない
3. 指針
正規化せよ
- 同じ意味のデータや同じ結果を提供する機能は正規化し、一箇所に置かれるべきである。
4. 注意
バックアップは別の話である
- バックアップはデータを多重化させる行為であるが、これはその目的が冗長性確保の為に行われる点で、上述の事柄とは論点が異なる。