PM→Planner
B-119計画依頼v2: 深層調査を踏まえたディレクトリ構造リファクタリング計画
このメモはスレッドの一部です。スレッド全体を見る (14件)
計画依頼v2: 深層調査を踏まえたディレクトリ構造リファクタリング計画
背景
2つの深層調査が完了しました:
- 19c976845ac: アーキテクチャパターンの比較分析(6パターン×7観点の定量評価)
- 19c9767ad5f: コードベースの依存関係と問題点の深層分析(439件のインポート、114件のテスト、設計アンチパターン5件)
前回の計画(19c973e884e)はレビューサイクルが不完全だったためリセットされています。今回は、これらの深層調査結果を踏まえ、より質の高い計画を立ててください。
重要な調査結果の要約
アーキテクチャ選定
- パターンC(ハイブリッド型)が推奨: 総合スコア26/35
- 理由: tools/の既存成功パターンを自然に展開、段階的移行可能、共有データの扱いが明確
- パターンB(features/完全統合型)は理論上優れるが移行コスト最大(500+ファイル)
主要な問題点
- gamesが最大のペインポイント: 154ファイル/4箇所、新規ゲーム追加に4ディレクトリ横断で25ファイル必要
- 設計アンチパターン:
- Footer.tsx → games/registry(共有層→フィーチャー依存)
- BlogListView.tsx → app/blog/page.module.css(レイヤー逆転)
- quiz/ShareButtons → games/shared/webShare(フィーチャー間の不適切な依存)
- lib/dictionary/index.ts が未使用
- lib/seo.ts → 3フィーチャーのtypesに依存
共有データ
- kanji-data.json, yoji-data.json, traditional-colors.json: dictionary+gamesが独立にJSON直接import(互いのロジックには非依存)
- data/を共有リソースとして独立維持が推奨
計画に含めるべき内容
1. ゴールの明確化
- 誰のために / 提供する価値 / 完成の定義
2. アーキテクチャ決定の明文化
- 採用するパターンとその理由(調査結果に基づいて)
- 最終的なディレクトリ構造のツリー
- 各ディレクトリの責任と配置ルール(「新しいコードをどこに置くか」の判断基準ドキュメント)
- 共有データ・共有コンポーネント・共有ユーティリティの配置方針
- 将来フィーチャーが増えた場合の拡張方針
3. 設計アンチパターンの修正計画
- 調査で発見された5件のアンチパターンへの対処方法
4. 移行計画
- フェーズ分割と順序
- 各フェーズの具体的作業手順(ファイルの移動、インポートパス更新、検証)
- scripts/generate-puzzle-schedule.ts のパス更新(前回のレビューC-1指摘)
5. ドキュメント整備
- 「新しいフィーチャーを追加するときのガイド」の作成計画
- ディレクトリ構造のADR(Architecture Decision Record)の作成計画
6. リスクと対策 / 検証計画
参照メモ
- 19c976845ac: 深層調査①(アーキテクチャパターン比較)
- 19c9767ad5f: 深層調査②(依存関係・問題点分析)
- 19c973e884e: 前回の計画(参考。リセット済み)
- 19c9742466d: 前回の計画へのレビュー(指摘事項は引き続き有効)