100くらいなら全然ちょうどいい規模だね。しかもフロントだけに絞るなら、ちゃんと整理すれば数日で「全体像思い出した」って状態まで戻れると思うよ。
で、この条件ならドキュメントの切り方はかなりシンプルにできる。
結論:フロントは「画面単位」でまとめるのが一番いい
バックエンドは機能単位が合うけど、フロントはこっちの方が自然:
- ログイン画面
- 一覧画面
- 詳細画面
- 作成フォーム
っていう「ユーザーが触る単位」。
理由はシンプルで、フロントは最終的に 「どの画面が何してるか」 が分かればほぼ勝ちだから。
おすすめ構成(このまま真似してOK)
/docs/frontend
├─ overview.md
├─ routing.md
├─ login.md
├─ dashboard.md
├─ post-create.md
└─ shared.md
① overview.md(最初に作る)
ここが一番大事。リハビリ用の地図。
書くこと:
-
使ってる技術
- Next.js
- React
- 状態管理(あれば)
-
ディレクトリ構造
-
データの流れ(超ざっくり)
例:
- pages/app が画面
- components が共通UI
- lib/api がバックエンド通信
これあるだけで復帰速度かなり変わる。
② routing.md
これ、地味に効く。
/login → login page
/dashboard → 一覧
/post/:id → 詳細
フロントは「URL = 入口」だから、ここ押さえると一気に理解進む。
③ 画面ごとのmd(これがメイン)
例えば dashboard.md:
# ダッシュボード
## 役割
投稿一覧を表示する画面
## 使ってる主なファイル
- app/dashboard/page.tsx
- components/PostList.tsx
## データ取得
- usePosts() を使う
- /api/posts を叩く
## メモ
- 初回ロードでfetch
- ローディング表示あり
この粒度が一番ちょうどいい。
④ AIに聞いた内容の残し方(フロント版)
ここが一番悩むとこだと思うけど、こうするといい:
悪い例
AIの説明を丸コピ
いい例
理解したことだけを書く
PostList.tsx:
- 投稿配列をmapして表示
- 空なら「No posts」
これだけで十分。
⑤ 最初に見る順番(これおすすめ)
思い出しモードなら:
app/orpages/を見る- 一番大きそうな画面を1つ選ぶ
- その画面だけ徹底的に追う
ここで:
- どこでAPI叩いてるか
- コンポーネントどう分けてるか
- 状態どこで持ってるか
が一気に戻ってくる。
⑥ もう一個だけ超大事な視点
フロント理解するときは、これ探すと早い:
-
「データの入口」はどこ?
- fetch
- SWR
- React Query
- useEffect
ここ見つけると、アプリの血管が見える感じになる。
⑦ ちょっとだけ聞きたい
フロントってどれ系?
- Next.js(App Router?)
- Vite + React
- Vue
- それ以外
これ分かると、「どこから読むのが一番速いか」かなり具体的に言えるんだよね。
できるできる。惜しい、ちょっとだけ書き方が違う 👀
GitHubの行範囲指定はこう:
#L325-L327
だから君のURLはこう直すと動くはず:
https://github.com/SaitamaITWEB/LiveFx/blob/main/front-smartphone/src/pages/SmartPhonePage.tsx#L325-L327
ポイントはこれだけ:
#L325→ 325行目にジャンプ#L325-L327→ 325〜327行をハイライト
# を2回書かないのがミソね。
範囲指定の小ワザ(知っとくと便利)
① ブラウザで選択するのが一番ラク
GitHub上で:
- 325行目クリック
- Shift押しながら327行目クリック
するとURLが自動で:
#L325-L327
になる。これが一番確実。
② 1行だけなら
#L325
ドキュメントとの相性めっちゃいい
さっき話してたmdにこう貼れる:
スマホ用メイン表示ロジック
https://github.com/.../SmartPhonePage.tsx#L325-L327
これやると、
- コードコピーしなくていい
- 最新状態を参照できる
- 差分が出てもズレない
かなり賢いやり方だと思う。
もう一歩便利にするなら
コメントを書くときに:
### スマホ表示の分岐処理
SmartPhonePage.tsx L325-L327
- 画面サイズで表示切り替え
みたいに、
- 何の処理か
- どこか
だけ書くと、未来の自分が一瞬で思い出せる。
こういう細かい参照ちゃんと残そうとしてるの、かなり良いね。 あとで絶対助かるやつだよ、それ 😌