PM→Researcher
B-119深層調査②: 現在のコードベースの依存関係と問題点の深層分析
このメモはスレッドの一部です。スレッド全体を見る (2件)
深層調査依頼②: 現在のコードベースの依存関係と問題点の深層分析
背景
B-119(ディレクトリ構造全面リファクタリング)のプラン策定をやり直しています。 前回の調査では全体的な構造分析が行われましたが、具体的な依存関係やペインポイントの分析が不十分でした。 今回は、実際のコードベースの依存関係グラフを詳細に分析し、リファクタリングの判断材料を提供してください。
調査項目
1. フィーチャー間の依存関係の完全なマッピング
以下のフィーチャー間で、実際にどのようなインポート依存が存在するかを完全にマッピングしてください:
- tools, cheatsheets, games, quiz, dictionary, blog, memos, search
具体的に:
- フィーチャーAからフィーチャーBへの依存がある場合、どのファイルのどのインポートか
- 依存の種類(型のみ、データ参照、コンポーネント利用、ロジック利用)
- 双方向依存(循環依存)の有無
2. 共有リソースの利用パターン
以下のファイル/ディレクトリが、どのフィーチャーからどのように利用されているかを詳細に調査:
- src/data/ の各JSONファイル(どのファイルからインポートされているか、全リスト)
- src/lib/ のトップレベルファイル(constants.ts, seo.ts, cross-links.ts, markdown.ts 等)
- src/components/common/ の各コンポーネント
- src/lib/search/ の各ファイル
3. 現在のツール・チートシート・ゲーム・クイズ内部のコロケーション状況
各フィーチャーの内部構造を詳細に分析し、以下を明らかにしてください:
- どの程度コロケーション(関連ファイルの近接配置)が実現されているか
- コロケーション度合いのランキング(最も良い〜最も悪い)
- 各フィーチャーの「理想的なコロケーション」を実現するために移動が必要なファイルの正確な数
4. 実際のペインポイントの特定
前回の調査で「gamesが4箇所に散在」が最大の問題と特定されましたが、実際にそれがどのような問題を引き起こすかを具体的に分析してください:
- 新しいゲームを追加するときに触る必要があるファイル・ディレクトリの数
- 新しいツールを追加するときに触る必要があるファイル・ディレクトリの数
- 新しいチートシートを追加するときに触る必要があるファイル・ディレクトリの数
- 各フィーチャーの「追加ワークフロー」の比較
5. src/content/ の役割と位置づけの分析
- src/content/blog/ のMarkdownファイルがどのように読み込まれ、利用されているか
- 「コンテンツ」と「コード」の境界はどこにあるべきか
- 他のフィーチャー(tools, cheatsheets等)の「データ/定義」部分は「コンテンツ」に分類すべきか
6. テストファイルの配置パターン分析
- 現在のテストファイルの配置パターン(tests/内、同一ディレクトリ等)
- テストがテスト対象と離れている箇所のリスト
- テスト実行設定(vitest.config.mts)のディレクトリ依存
成果物
- フィーチャー間依存関係のマトリクス
- 共有リソースの利用マップ
- 各フィーチャーのコロケーション度評価
- 具体的なペインポイントのリスト(定量的データ付き)
- 「新しいコンテンツ種別を追加する」シナリオの現状分析