DIP(依存性逆転の原則) D
具体的なクラスではなくインターフェースなどの抽象に依存させて、仕組みを差し替えやすくする設計原則。
💡AIワンポイント
DIPを守ると、AIは具体クラスではなく契約に沿って修正案を出せます。レビューではimportが実装型に逆戻りしていないかを見るだけで設計崩れを早期検知できます。
『プリンシプル オブ プログラミング』関連の用語を分かりやすくまとめました!
用語の要点・関連原則・💡AIワンポイントを、検索でサッと引けます。
11件
具体的なクラスではなくインターフェースなどの抽象に依存させて、仕組みを差し替えやすくする設計原則。
DIPを守ると、AIは具体クラスではなく契約に沿って修正案を出せます。レビューではimportが実装型に逆戻りしていないかを見るだけで設計崩れを早期検知できます。
クラスが自分で new せず、必要なオブジェクトを外から受け取ることで、差し替えやテストをしやすくする設計のやり方。
DIを使うと、AIへの依頼で「差し替える実装」と「触らない呼び出し側」を明確に分離できます。テストダブルを前提に生成させると検証も自動化しやすくなります。
同じ意味の処理や知識をあちこちにコピペせず、1か所にまとめて管理しようとする設計の考え方。
AIは「一箇所直して」と言われても、同じコードが別の場所にあると気づかないことがあります。DRYを徹底することは、AIによる修正漏れ(デグレード)を防ぐ最強の防御策です。
特定の分野の問題を簡潔に表現するために作られた専用の言語。設定ファイルやビルドスクリプトなどでよく使われる。
DSLをAIで設計する際は、許可する文法と禁止構文を最初に示します。曖昧な記法を残すと生成器側で解釈差が出るため、例文ベースでレビューするのが有効です。
ビルドした成果物をサーバーやストアなど本番やテスト環境に配置し、ユーザーが使える状態にする作業。
デプロイ手順をAIに作らせるときは、ロールバック条件と判定メトリクスを必ず対で記述します。本番反映より先に「戻し方」を確定させるのが事故予防になります。
ソフトウェアが扱う業務や問題の世界のこと。ユーザーやビジネスのルールを表すモデルの範囲を指す。
ドメイン語彙を揃えてからAIに依頼すると、命名と振る舞いのズレが減ります。ユビキタス言語にない語を差分で見つけたら、設計崩れのサインとして扱えます。
あるコードが別のコードに頼って動く関係のこと。依存が多すぎたり強すぎると変更やテストが難しくなる。
依存関係の可視化なしでAIに改修を頼むと、循環参照を作り込みやすくなります。依存グラフを添えて「追加禁止の辺」を指定すると設計破綻を防げます。
何をどう実行するかではなく「どんな状態になってほしいか」を記述する書き方。SQL や CSS のように結果を宣言して任せる。
AIは「手順(How)」を指示されるより「あるべき姿(What)」を提示される方が、ロジックの破綻が少ないコードを生成できます。htmxのような宣言型技術はAI時代の最適解の一つで、AIは複雑なJSロジックを生成せずに済むため、バグ混入率を劇的に下げられます。
もう使われていないのに、実際には呼ばれずに残り続けているコード。読み手を混乱させ、誤使用やバグの原因にもなりやすい。
死蔵コードを残すと、AIが古い分岐を根拠に誤修正する原因になります。削除候補をテストカバレッジと参照解析で確定してから一括整理するのが安全です。
決めた要件をもとに、画面や処理の流れ、データの形などソフトウェアの作りを具体的な形に落とし込む工程。
設計段階で境界とデータ流れを図解して渡すと、AIは局所最適なつぎはぎ実装をしにくくなります。レビューでも設計逸脱を差分単位で判定しやすくなります。
テスト駆動やイベント駆動のように、何かをきっかけにして設計や処理の流れを決めるという意味合いで使われる言葉。
〜駆動の設計は、起点イベントを明確にしないとAIの実装が散らばります。トリガー、入力、完了条件を1セットで渡すと自動化フローが安定します。
経験:Webアプリ/業務システム
得意:PHP・JavaScript・MySQL・CSS
個人実績:フォーム生成基盤/クイズ学習プラットフォーム 等
詳しいプロフィールはこちら! もちもちみかんのプロフィール