IT用語: DRY原則とは|「繰り返しを避けよ」というプログラミングの鉄則
Don't Repeat Yourself(DRY)原則の意味と、WET(重複だらけ)なコードが引き起こす問題と対処法を解説。
DRY原則とは
DRY(Don’t Repeat Yourself)は「同じ知識をコードの複数の場所に重複させるな」という原則です。書籍『達人プログラマー』で提唱されました。同じロジックが複数箇所に散らばっていると、仕様変更の際にすべての場所を修正しなければならず、修正漏れがバグの温床になります。
WETなコードの問題
DRYの対義語はWET(Write Everything Twice / We Enjoy Typing)です。例えば、税込み価格の計算式が画面表示・PDF生成・メール送信の3箇所にコピーされていると、税率変更時に3箇所すべてを修正する必要があります。
DRY化の方法
- 共通ロジックを関数・メソッドに抽出する
- 定数を1か所で定義して参照する
- 設定値をConfigファイルにまとめる
ただしDRYを過度に適用すると「WRONG(Write Really Obscure Nesting Generally)」なコードになります。読みにくい抽象化より、適切な重複の方が良い場合もあります。
関連する用語 (プログラミング)
全33件を見るJest(ジェスト)
MetaがReact向けに開発したJavaScript/TypeScriptのテストフレームワーク。ゼロ設定で動作・スナップショットテスト・モック機能を標準搭載し、フロントエンドテストのデファクトスタンダード。
IT用語: リファクタリングとは|外から見た動作を変えずに内部を改善する
コードの外部動作を保ちながら内部構造を整理するリファクタリングの目的・手法・タイミングを解説。
JavaScript (JS)
Webブラウザ上で動きのある表現(アニメーション等)を実現するためのプログラミング言語。
C# (シーシャープ)
Microsoft社が開発した、エンタープライズ(企業向け)システムからゲーム開発(Unity)まで広く使われる万能言語。
JAMstack
JavaScript・APIs・Markupの頭文字をとったWebアーキテクチャ。ビルド時に静的HTMLを生成し、動的機能はAPIで補完することで高速・安全・スケーラブルなWebサイトを実現する。
Webpack(ウェブパック)
JavaScriptアプリの依存関係を解析して複数のファイルを1つ(または少数)のバンドルにまとめるモジュールバンドラー。CSS・画像等も処理でき、フロントエンドビルドツールの長年の標準。