DRY原則
プログラミングとかにおける「こーするべきだよね」な思想だよ
「無駄な重複をなくしましょう」な考え方だよ
「DRY」の部分は「Don't Repeat Yourself」の略だよ
簡単に書くよ
DRY原則(読:ドライゲンソク?)とは
「不必要な情報の重複はなくせ!」原則のこと。
もう少し具体的に書くと
プログラミングにおいて「同じような情報をいろんな場所に置くんじゃねぇ!」な考え方のこと
です。
詳しく書くよ
「Don't Repeat Yourself(ドント・リピート・ユアセルフ)」の略で「DRY原則」です。
直訳すると「自分自身で繰り返すな!」つまり
重複すんな!
と言っています。
では何を重複させないのか?
「情報」です。
例えばピヨ太君がスーパーピヨピヨシステムを作っているとします。
まずはログイン機能を作りました。
ログイン機能ではデータベースに接続するので、IDとパスワードが必要です。
そこでログイン機能のプログラムの中にIDとパスワードをベタ書きしました。
ピヨ太君は次に掲示板機能を作りました。
掲示板機能ではデータベースに接続するので、IDとパスワードが必要です。
そこで掲示板機能のプログラムの中にIDとパスワードをベタ書きしました。
この時点でデータベースのIDとパスワードはログイン機能のプログラムの中と掲示板機能のプログラムの中に書かれていますよね?
同じ情報が複数の場所に存在します。
これです。
これを止めましょうよ~という考え方がDRY原則です。
同じ情報がいろいろな場所に散らばっていると管理が面倒です。
今回の例で言えば、データベースのパスワードを変えると、ログイン機能と掲示板機能の2か所を直さないといけません。
めんどっちーですね。うっかりしているとどちらかを直し忘れる可能性もあります。
このような事態を避けるために、まとめられるものはまとめちゃいましょう。
そんな考え方がDRY原則です。
「DRY原則」という言葉自体は馴染みが少ないかもしれませんが、プログラムを組み慣れている人は無意識に理解していると思います。
ちなみに、DRY原則と似たような意味の言葉で「OAOO原則」というものがあります。
OAOO原則の方は「同じコードを何度も書くな!」原則です。
DRY原則とOAOO原則は混同されている場合も多いのですが、DRY原則の方が少し広い意味になります。
OAOO原則の方はコードの書き方における、DRY原則の方はシステム全体における「重複させんな!」な思想です。
一言でまとめるよ
まぁ「DRY原則」って単語が出てきたら「システム設計における『重複させんな!』な思想なんだな~」と お考えください。





