50万行のレガシーコード分析を1日で終わらせて定時退社する設定
TuBrief Editorial
August 12, 2026
0
Computing/SoftwareWritten with AI assistance from the source video. The video is the authority.
More from the community
Comments (0)
Log in to leave a comment
No posts yet
Written with AI assistance from the source video. The video is the authority.
Log in to leave a comment
No posts yet
社内ファイアウォールやプロキシ環境でターミナルベースの開発ツールを駆動すると、ネットワーク遮断エラーが発生する。社内ルート証明書の検証失敗が原因だ。ランタイムの特性上、オペレーティングシステムのデフォルトストアをバイパスするためである。
ターミナルプロファイルに直接設定を追加する必要がある。HTTP_PROXY および HTTPS_PROXY 変数に社内プロキシのアドレスを入力する。NODE_EXTRA_CA_CERTS 変数には社内ルート証明書のファイルパスを指定する。ANTHROPIC_BASE_URL をローカルの Ollama エンドポイントに設定し、CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC の値を 1 にすると外部通信が遮断される。ファイアウォールの規定を遵守しながらスキャンエラーをなくし、セットアップ時間を短縮する。
50万行を超えるモノリシックなリポジトリで全体スキャンを実行すると、30分かかったりヒープメモリエラーで停止したりする。16GB RAM 環境では 14B や 20B サイズのローカルモデルを使用しないとスキャナが耐えられない。プロジェクトのルートに .understandignore ファイルを作成する。
除外パターンを適用する方法は簡単だ。最上位ディレクトリにファイルを作成し、**/node_modules/、**/target/、**/build/、**/src/test/ のパスを書き込む。ターミナルに NODE_OPTIONS="--max-old-space-size=8192" コマンドを入力して Node.js のヒープメモリ制限を増やす。分析対象ファイルが減ることで、初期スキャン完了時間が3分以内に短縮される。
巨大なリポジトリ全体を対象に質問を投げると、ナレッジグラフにある数万個のノードが一度にロードされる。ハルシネーション(幻覚)が発生する。旧バージョンの決済クラスと新規の決済クラスを混同し、実行されないメソッドを持ってきてしまう。ビジネスロジックの領域を絞り込む必要がある。
特定のディレクトリにクエリ範囲を限定する手順は次のとおりだ。単一ファイルを見る場合はコマンドの後にターゲットファイルの相対パスを付加する。ドメインのフローを把握するときは、特定のドメイン境界内のノードのみを抽出するコマンドを実行する。チャットコマンドを使用する際も、レビューするディレクトリパスを明記し、テストフォルダは除外する。ノード数が減少することでコード探索の精度が向上する。
AIが提示した成果物だけを信じてコードを即座に修正するのは危険だ。ナレッジグラフの出力と実際のソースコードが一致しているかを直接照合する必要がある。IDEのファイルエクスプローラを開いて、AIが言及したメソッドが実際に存在するかを確認する。呼び出し関係を検証し、トランザクションの範囲とマッピングファイルを確認する。コードを修正する前に波及効果を分析するコマンドを実行する。
担当者が退職し、ドキュメントが存在しないレガシーシステムでは、1つのAPIを把握するだけでも数十個のファイルを確認しなければならない。Understand-Anything のツールを使用すると、エントリーポイントから階層別の依存関係の順序に沿ってシステムを案内するツアーが作成される。シニア開発者に毎回質問する必要はない。
リクエストとレスポンスのフローグラフを抽出する方法は次のとおりだ。ナレッジグラフの分析を終えた後、ダッシュボードUIを起動する。メニューからツアー機能を選択するか、コマンドを直接入力する。APIエントリーポイントからバックエンドサービス、そしてデータベースへと繋がるノードを順番にたどりながら実行フローを視覚化する。
レガシーコードに手を加えるときは、副作用を事前に計算しておく必要がある。コードを編集したのちコミットする前に、変更されたファイルをグラフノードに変換するコマンドを実行する。接続されたノードを総合的に算出し、変更内容が既存のAPIやバッチ処理に及ぼす影響を事前に把握する。
分析された資産はマークダウン形式で抽出し、社内Wikiに登録する。スキャン完了後に生成されたナレッジグラフファイルをコミットして、ドキュメントの負債を返済する。ファイルが大きい場合は Git LFS で管理する。大容量ファイルの追跡を設定し、設定ファイルをリポジトリにアップロードした上でオンボーディングガイドとして活用する。コミットするたびに増分パイプラインが実行されるように設定しておけば、毎回全体スキャンを実行する必要なく、最新のアーキテクチャ状態を維持することができる。