事例実践事例 / 公開物 / case
第4章 コードから仕様と依存関係を復元する
ソースコードからクラス・ファイルの役割と連携を読み解き、仕様と構造を整理する。実行フローや不要コードも確認し、人間が理解して変更できる基盤を作る。
2026年3月更新履歴
読む目的: 自然言語サービス・RAG・ナレッジ / AI × ソフトウェア開発 / 事例・実務
このBookの目次(全12章)
- 全体構成
- 第1章 仕様を答えられない状態から、復元すべき情報を決める
- 第2章 対象システムの変更を妨げる構造と知識の不足を整理する
- 第3章 調査の起点を作るため、ファイルとクラスの役割を整理する
- 第4章 コードから仕様と依存関係を復元する
- 第5章 処理の流れを復元し、変更影響を追えるようにする
- 第6章 人が読む仕様とAIが使うKnowledgeを分ける
- 第7章 UI操作と内部処理を結び付け、操作結果を追えるようにする
- 第8章 復元したKnowledgeを、根拠を確認できるQAへつなぐ
- 第9章 正しさ・出典・回答拒否から、QAの利用可否を評価する
- 第10章 評価結果をKnowledgeと回答範囲の改善へ戻す
- 第11章 仕様変更に追従できるKnowledge更新フローを作る
- 第12章 QAで暗号処理を調査し、人間の変更判断へつなぐ
現在位置:第4章・全12章
ファイルの所在から、機能の役割へ進む
プロジェクトの地図だけでは、各機能がどこに実装されているかは説明できない。そこで、主要なクラスやモジュールについて、役割、主なメソッド、他モジュールとの関係を整理した。
すべての行を同じ深さで読むのではなく、「何のために存在し、どの機能を担い、何と連携するか」を起点にした。データ取得、業務処理、UIとの連携といった役割を短く説明できるようにし、位置関係へ意味を加えた。
AIの説明を、実コードと実行結果で確かめる
GPTへ対象コードを渡して日本語の説明を生成させ、その内容を実際のコードと実行結果で検証した。処理の意図やデータの流れを整理する支援には使えるが、生成された説明を正しい仕様とはみなさない。
コードを読む作業と並行し、ソフトウェアをデバッグ実行して処理を追った。UI操作から呼び出されるクラス・メソッド、条件分岐で選ばれる経路を確認し、静的に読んだ構造と実際に動く構造の差を確かめた。
この照合により、AIが示した役割の候補を、人間が確認した説明へ変えていった。
実行されない処理を、現行機能と混ぜない
調査では、呼び出されないメソッド、到達しない処理、参照されないクラスも特定した。現行の構造理解を妨げていたデッドコードを明確に識別し、削除した。
ファイルの存在を、そのまま現行機能の存在と扱わないことが重要だった。プロジェクト構造、クラスの役割、実行フロー、不要コードの整理を合わせ、ソースコードと現在のシステム構造を対応させた。
ただし、要素の役割だけでは処理の順序や分岐を一目で追えない。次章では、確認した関係をフローとして表現する。