DRY原則とは?重複を避けるプログラミングの法則

ざっくりと

  • 重複を避ける
  • 変更を容易にする
  • バグを減らす

DRY原則とは、重複を避けることです。

概要説明

DRY原則とは重複を避けるである。なぜなら重複するコードや情報が多いと、変更が困難になるから。

例えば同じコードが複数箇所にあると、一箇所を修正しても他の箇所が修正されないである。そしてエラーの原因になる。

つまり変更が容易でエラーを減らすである。だから効率的なプログラミングを促進する。

職業職種

  1. ソフトウェア開発者
    DRY原則は、効率的なコーディングである。なぜなら、重複を減らし変更を容易にするから。例えば新しい機能の追加。
  2. プロジェクトマネージャー
    DRY原則は、プロジェクトの流れをスムーズにするである。なぜなら、バグの減少と開発スピードの向上から。例えば納期の短縮。
  3. テストエンジニア
    DRY原則は、テストの効率を高めるである。なぜなら、コードの整合性を保ちやすいから。例えば正確なテストの実施。

DRY原則は、名前の由来は英語の”Don’t Repeat Yourself”(自分自身を繰り返さない)です。

類似語

  • OAOO原則
    OAOO(Once And Only Once)は、同じコードを一度しか書かないである。なぜなら、重複するコードが多いとメンテナンスが困難になるから。例えば、一箇所の変更が他の場所に影響を及ぼす。
  • コードのリファクタリング
    コードのリファクタリングは、コードの構造を改善するである。なぜなら、読みやすく保守しやすいコードにするため。例えば、無駄なコードを削除や簡潔な表現にする。
  • モジュラー設計
    モジュラー設計は、システムを小さな部品(モジュール)に分割するである。なぜなら、各部品が独立しているため変更が容易になるから。例えば、一つの部品を変更しても他の部品に影響を与えない。

反対語

  • 冗長性
    冗長性は、同じ情報やコードの重複である。なぜなら、効率が悪くメンテナンスが困難になるから。例えば、一箇所を変更すると他のすべても変更しなければならない。
  • コピーアンドペーストプログラミング
    コピーアンドペーストプログラミングは、同じコードを何度も使うことである。なぜなら、修正時に一箇所を見逃すとバグが発生するから。例えば、同じコードが100箇所にある場合、100箇所とも修正する必要がある。
  • 重複設計
    重複設計は、同じ機能が複数の場所に存在することである。なぜなら、同じ機能の変更が困難になるから。例えば、同じ機能を持つ部分があちこちにあると、変更が大変になる。

会話例

  1. プロジェクトチームの会議
    Q.「このコード、何度も重複してるね。DRY原則にしたがって修正する?」
    A.「いいね!それで変更が楽になるよ。」
  2. 開発者同士のコードレビュー
    Q.「この部分、DRY原則に違反していない?」
    A.「確かに。これを修正して、コードをきれいにしよう。」
  3. 新人研修中の指導
    Q.「DRY原則って何ですか?」
    A.「同じ情報を何度も書かないようにするルールだよ。それで、後で変更する時に楽になるんだ。」

注意点

DRY原則を使用する時の注意点は過度な抽象化である。なぜならば、極端に重複を避けすぎるとコードが複雑になりがちだからだ。

例えば、少しの違いも共通化しすぎると、理解しにくくなる。そして、後から変更が困難になる。だから、バランスが重要。

DRY原則とOAOO原則は、間違えやすいので注意しましょう。

DRY原則は同じ情報やコードを重複させないことです。

一方、OAOO原則は、特にコードの中で同じことを一度しか書かないことです。

記事を書いてる人

ガラケー時代からWEB開発やってる自宅SE です。

「○○を知りたい!!」「○○が分からない!!」などありましたら、Twitterでもブログでもコメントいただければ、ご期待に添えるように頑張ります!

ネット事件簿チャンネルを運営しているので、YouTubeもぜひ覗いてみてください!!

雨おやじのSNSを覗く!!
IT用語辞典
雨おやじのSNSを覗く!!
ITkagyo

コメント