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件を見るGraphQL
FacebookがRESTの課題を解決するために開発したAPIクエリ言語。クライアントが必要なデータの形を宣言的に指定して取得でき、オーバーフェッチ・アンダーフェッチを解消する。
TypeScript (TS)
JavaScriptの弱点(エラーの起きやすさ)を克服するためにMicrosoftが開発した、「型(ルール)」を持つ進化版言語。
ヘッドレスCMS
表示用フロントエンド(ヘッド)を持たず、コンテンツ管理とAPIによるデータ提供に特化したCMS。Next.js・Astro等の任意のフロントエンドと組み合わせてJAMstack構成を実現する。
IT用語: リファクタリングとは|外から見た動作を変えずに内部を改善する
コードの外部動作を保ちながら内部構造を整理するリファクタリングの目的・手法・タイミングを解説。
PWA(プログレッシブウェブアプリ)
Service WorkerやWeb App Manifestを使い、Webアプリにネイティブアプリに近い体験を提供する技術。オフライン動作・ホーム画面への追加・プッシュ通知が実現できる。
Webpack(ウェブパック)
JavaScriptアプリの依存関係を解析して複数のファイルを1つ(または少数)のバンドルにまとめるモジュールバンドラー。CSS・画像等も処理でき、フロントエンドビルドツールの長年の標準。