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件を見るTypeScript (TS)
JavaScriptの弱点(エラーの起きやすさ)を克服するためにMicrosoftが開発した、「型(ルール)」を持つ進化版言語。
Jest(ジェスト)
MetaがReact向けに開発したJavaScript/TypeScriptのテストフレームワーク。ゼロ設定で動作・スナップショットテスト・モック機能を標準搭載し、フロントエンドテストのデファクトスタンダード。
JAMstack
JavaScript・APIs・Markupの頭文字をとったWebアーキテクチャ。ビルド時に静的HTMLを生成し、動的機能はAPIで補完することで高速・安全・スケーラブルなWebサイトを実現する。
Go / Golang (ゴー言語)
Google社が開発した、処理速度が超絶爆速で、大量のアクセスに強い現代的なプログラミング言語。
SSR(サーバーサイドレンダリング)
Webページをサーバー側でHTMLとして生成してからクライアントに送信する手法。SPAのSEO問題を解決し、初期表示を高速化できる。Next.js・Nuxt.jsで実装されることが多い。
ESLint
JavaScriptとTypeScriptのコードを静的解析し、潜在的なバグや規約違反を検出するリンター。プロジェクト全体で一貫したコードスタイルを強制し、コードレビューの負担を軽減する。