ざっくりと
- 重複を避ける
- 変更を容易にする
- バグを減らす
DRY原則とは、重複を避けることです。
概要説明
DRY原則とは重複を避けるである。なぜなら重複するコードや情報が多いと、変更が困難になるから。
例えば同じコードが複数箇所にあると、一箇所を修正しても他の箇所が修正されないである。そしてエラーの原因になる。
つまり変更が容易でエラーを減らすである。だから効率的なプログラミングを促進する。
職業職種
ソフトウェア開発者
DRY原則は、効率的なコーディングである。なぜなら、重複を減らし変更を容易にするから。例えば新しい機能の追加。
プロジェクトマネージャー
DRY原則は、プロジェクトの流れをスムーズにするである。なぜなら、バグの減少と開発スピードの向上から。例えば納期の短縮。
テストエンジニア
DRY原則は、テストの効率を高めるである。なぜなら、コードの整合性を保ちやすいから。例えば正確なテストの実施。
DRY原則は、名前の由来は英語の”Don’t Repeat Yourself”(自分自身を繰り返さない)です。
類似語
OAOO原則
OAOO(Once And Only Once)は、同じコードを一度しか書かないである。なぜなら、重複するコードが多いとメンテナンスが困難になるから。例えば、一箇所の変更が他の場所に影響を及ぼす。
コードのリファクタリング
コードのリファクタリングは、コードの構造を改善するである。なぜなら、読みやすく保守しやすいコードにするため。例えば、無駄なコードを削除や簡潔な表現にする。
モジュラー設計
モジュラー設計は、システムを小さな部品(モジュール)に分割するである。なぜなら、各部品が独立しているため変更が容易になるから。例えば、一つの部品を変更しても他の部品に影響を与えない。
反対語
冗長性
冗長性は、同じ情報やコードの重複である。なぜなら、効率が悪くメンテナンスが困難になるから。例えば、一箇所を変更すると他のすべても変更しなければならない。
コピーアンドペーストプログラミング
コピーアンドペーストプログラミングは、同じコードを何度も使うことである。なぜなら、修正時に一箇所を見逃すとバグが発生するから。例えば、同じコードが100箇所にある場合、100箇所とも修正する必要がある。
重複設計
重複設計は、同じ機能が複数の場所に存在することである。なぜなら、同じ機能の変更が困難になるから。例えば、同じ機能を持つ部分があちこちにあると、変更が大変になる。
会話例
プロジェクトチームの会議
「このコード、何度も重複してるね。DRY原則にしたがって修正する?」
「いいね!それで変更が楽になるよ。」
開発者同士のコードレビュー
「この部分、DRY原則に違反していない?」
「確かに。これを修正して、コードをきれいにしよう。」
新人研修中の指導
「DRY原則って何ですか?」
「同じ情報を何度も書かないようにするルールだよ。それで、後で変更する時に楽になるんだ。」
注意点
DRY原則を使用する時の注意点は過度な抽象化である。なぜならば、極端に重複を避けすぎるとコードが複雑になりがちだからだ。
例えば、少しの違いも共通化しすぎると、理解しにくくなる。そして、後から変更が困難になる。だから、バランスが重要。
DRY原則とOAOO原則は、間違えやすいので注意しましょう。
DRY原則は同じ情報やコードを重複させないことです。
一方、OAOO原則は、特にコードの中で同じことを一度しか書かないことです。
コメント