ライフスタイル
既存のコードベースを理解する
読み取りで入口、データの流れ、テストを探し、ファイルに基づくプロジェクト地図を作ります。
読了目安 14 分 · 操作 25 分

Codex 学習目次に戻るCodex 学習ガイド:全記事の目次導入と最初のタスクから MD の指示、高度な連携まで、60 レッスン・十単元を予定しています。習熟度、環境、目的、コマンドで次の記事を探せます。未公開の記事には状態を表示します。記事全文を読む
目標と準備
最初のプロジェクト最初の小さなプロジェクトを完成させるSmall Steps の ToDo サイトを独立したコピーで使い、見出しと背景色を変更します。五つの教材ファイルの役割を確認し、差分、基本テスト、二つの画面幅を照合して機能とデータを保ちます。記事全文を読むが前提です。全行翻訳ではなく、入口、操作経路、保存先、確認証拠を答えます。一つの利用者操作を小サイト内で追い、変更判断に使えないファイル名一覧で終わらせません。
手順1:版、入口、基準を確認
ZIP の expected の5ファイルを新しい codex-read-lab にコピーし原本を残します。start/broken ではありません。Windows PowerShell は Get-Location、macOS/Linux は pwd で、5ファイルが直下にある場所を確認します。見慣れた形にするためだけに package.json を追加しません。
node --version
node --test core.test.mjs
3テスト成功を実測してから読取り調査へ進みます。失敗ならエラーと版を残し、構造理解のついでに不明な故障を直しません。実プロジェクトでは既存の未コミット変更を記録し、全体リセットや整形を避けます。
デスクトップでは codex-read-lab をローカルプロジェクトに追加し、そこで新規タスクを作ります。CLI は確認済みの教材端末から codex を起動します。タスクの場所を確認し、次の依頼をシェルではなく Codex の入力欄へ送ります。
Read this codex-read-lab without editing any files. Identify the actual entry point, file responsibilities and commands available from the files, not from framework assumptions.
Trace adding a task, marking it complete, changing the filter and reloading the page. Name the relevant functions and DOM elements.
Separate observed code from inferred intent. List what the existing tests cover and what still needs browser verification. If evidence is missing, say so instead of inventing a backend or build step.
手順2:根拠付きのファイル地図
表を実ファイルで確認します。index.html が CSS と module app.js を読み、app.js が core.mjs を import します。テストは Node 内蔵で npm script ではありません。API、DB サーバー、bundler はないため、挙げたら根拠を求め修正します。
| ファイル | 役割 | 証拠 |
|---|---|---|
| index.html | 入口と操作要素 | task-form、task-title、filter、tasks |
| style.css | 配置、外観、フォーカス | フォームと一覧の規則 |
| app.js | DOM、状態、保存、描画 | submit、change、persist、render |
| core.mjs | データ処理と検証 | addTask、visibleTasks、decodeTasks |
| core.test.mjs | Node 機能テスト | 3 test と assertions |
Read 追加は submit の既定阻止、addTask の文字検証と新配列、tasks 代入、persist の保存、入力クリアと render、入力へのフォーカスを追います。名称と順序・型を実ファイルで確認してから機能案を考えます。
filter.value は表示を選び、隠れた tasks を削除しません。完了は画面行番号ではなく task.id を使います。理解せず Completed を直すと、未完了データを削除して見た目だけ合う危険があります。
手順3:保存とエラー経路を追う
app.js の mokaair-codex-todo-v1 は localStorage キーです。起動時 decodeTasks は JSON 版と項目、保存時 encodeTasks は版付き文書を扱います。ブラウザーの origin と保存拒否が関係し、クラウド同期ではありません。catch の一時状態表示も説明させます。
第3テストの壊れた JSON、版、重複 ID、項目型を確認します。デコード規則の証拠であり、実画面エラー、フォーカス、再読込保存の保証ではありません。データ関数と利用者操作を分けてテストと確認テスト・コードレビュー・PRテストは条件下の動作、レビューは変更の問題、PR は統合候補を扱います。テスト成功、承認、マージは別の状態です。記事全文を読むへ残します。
手順4:画面で理解を確認して地図を残す
codex-read-lab から Python サーバーを起動します。Windows は1番目、macOS/Linux は2番目だけを使い、http://127.0.0.1:4173 を開きます。自分の旧教材がポートを使うならその端末で止め、場所不明の画面を流用しません。テストは別端末です。
py -m http.server 4173 --bind 127.0.0.1
python3 -m http.server 4173 --bind 127.0.0.1
必要な以前の教材記録を残してから、About this exercise の Reset practice data を使います。All tasks で空一覧を確認し、Read と Build を追加して Read だけ完了します。All は両方、Active は Build、Completed は Read です。All に戻して再読込し保存を確認します。コアと画面の接続の検証で、全エラー経路は含みません。最後は教材データだけを消します。
エディターで次の骨組みを project-map.md に保存し、実テストと未確認を記入します。元5ファイルは変更不要です。Codex に書かせるなら新文書だけ許可し、元5ファイル不変を確認させます。読取り段階の終了とリファクタリング許可は混同しません。
# Small Steps project map
## Entry and runtime
index.html loads style.css and app.js as a browser module.
app.js imports core.mjs. Local HTTP preview; no dependency installation.
## Flow
submit -> addTask -> tasks -> persist -> input clear -> render -> input focus
checkbox change -> toggleTask by ID -> persist -> render with focus restoration
filter change -> render -> visibleTasks; hidden tasks stay in tasks
reload -> localStorage -> decodeTasks -> tasks -> render
## Storage
Key: mokaair-codex-todo-v1. Versioned JSON; invalid data is rejected.
Browser storage failures leave a temporary session and a visible message.
## Verification
node --test core.test.mjs: fill actual result and date.
Browser filters, reload, keyboard and storage errors: record separately.
Do not claim checks you did not perform.
## Change boundaries
Filter logic: core.mjs visibleTasks.
DOM and storage orchestration: app.js.
Layout and controls: style.css and index.html.
Unknowns and next task: fill from evidence.
失敗経路を読み、判断の根拠を示す
app.js の submit ハンドラーと core.mjs の addTask を照合します。空白だけの入力は trim 後に長さ 0 となり、addTask が title-length を投げます。イベント側の catch がメッセージを表示して return するため、その送信では persist、入力のクリア、render に進みません。これはコードから判断した経路で、ボタンを実際に押した証拠ではありません。同様に localStorage の書き込み失敗を追い、storageAvailable が false になり、タブ内の一時作業は続けられても再読み込み後の保持は保証されないことを確認します。
「フィルター変更でデータを保存する」「3件のテスト通過でボタンの正常動作が証明できる」という誤った説明も確認します。filter の change は render だけを呼び、コア関数のテストは DOM を操作しません。次の節を project-map.md に追記し、未実施は NOT RUN のままにします。引用した関数が見つからなければ expected のコピーを開いたか確認し、5つのプログラムファイルを変えずに案内文書を修正します。
## Evidence and limits
- Blank input: core.mjs/addTask throws; app.js/submit catches and returns before persist.
- Filter change: app.js connects change to render; that handler does not persist.
- Count: app.js/render counts all tasks, not only the displayed subset.
- Storage failure: app.js/persist disables further writes after a failed setItem.
- Automated baseline: node --test core.test.mjs; record actual exit and totals.
- Browser submit/filter/reload checks: NOT RUN until performed.
誤解、停止と受入
依存追加には宣言ファイルを求め、一覧だけなら submit を追わせ、テスト成功と全画面正常を同一視したら未確認範囲を求めます。広く探す前にルートを確認し、expected の結論を broken に適用しないよう実パスで区別します。
追加、切替、絞り込み、再読込を関数で説明し、未確認を最低一つ挙げられたら完了です。Ctrl+C でサーバーを止め、地図と元5ファイル一致を確認します。誤変更は対象だけ戻します。図1は基準、2は追跡、3は証拠確認で、次は機能実装ToDo のフィルターを実装するstart から Active/Completed を実装し、データ形式を保って正常例と境界例を確認します。記事全文を読むです。
Codex 学習目次に戻るCodex 学習ガイド:全記事の目次導入と最初のタスクから MD の指示、高度な連携まで、60 レッスン・十単元を予定しています。習熟度、環境、目的、コマンドで次の記事を探せます。未公開の記事には状態を表示します。記事全文を読む
詳しい説明を読む
Three numbered stages: identify the starting point, perform the exercise, and verify the result. Original illustration, not a product screenshot.
同じテーマの記事
ライフスタイル
Codex 学習ガイド:全記事の目次
導入と最初のタスクから MD の指示、高度な連携まで、60 レッスン・十単元を予定しています。習熟度、環境、目的、コマンドで次の記事を探せます。未公開の記事には状態を表示します。
ライフスタイル
Worktree とタスクの分離
Worktree は一つの Git リポジトリに別ブランチの作業場所を作ります。ファイルは分かれても DB、ポート、外部サービスは共有される場合があります。
ライフスタイル
実践:小さな Web サイトを作る
brief.md から Small Steps のタスクサイトを計画・制作し、追加、完了、削除、絞り込み、ローカル保存を実装します。HTML、CSS、データ関数、画面イベント、テストを分け、Node とブラウザーで検証して再起動・復元の手順を残します。
ライフスタイル
使用量と効率:やり直しを減らす
条件、モデル設定、時間、成果を記録し、不要な再試行と過剰な文脈を減らします。
この記事を引用している記事
最新の旅の情報・ガイド

ガイド東京
東京ではどのエリアに泊まる?新宿・上野・東京駅・渋谷・浅草・池袋・銀座の七エリア比較。空港アクセス、宿泊税、荷物配送も解説
東京ではどのエリアに泊まる?新宿、上野、東京駅、渋谷、浅草、池袋、銀座の七エリアを同じ基準で比較。成田・羽田空港からのアクセス、利用できる路線、周辺にあるもの、街の雰囲気、向いている人を、比較表と山手線の概略図とともに紹介します。2026年9月に確認した東京都の宿泊税(2027年4月から3%)と、空港宅急便で荷物を送る際のルールも解説します。
- 予算
- ホテル

ガイド東京
東京の交通パスの選び方:Suica/Welcome Suica、Tokyo Subway Ticket、JR Passは買うべき?
初めての東京では、まず一人一枚ICカードで都度払い(Welcome Suicaはデポジット不要、有効期間28日)。一日に地下鉄へ4回以上乗るならTokyo Subway Ticketの72時間券2,000円を追加し、関西へ行かず東京だけならJR Passは必ず割高です。TOURIST PASMO、iPhoneのSuica、東京メトロ一日乗車券で乗れる路線・乗れない路線を決定チャートで比較。価格は2026年9月に確認。
- 交通
- 予算

ガイド東京
東京ディズニーランド・シー攻略:チケット料金、ファンタジースプリングス、ディズニー・プレミアアクセス(DPA)とスタンバイパスの使い方、初めてならどちらを選ぶ?
東京ディズニーの一日パスポートは変動価格制で、2026 年 9 月は平日の多くが 9,900 円、週末が 10,900 円。公式サイトでは毎日 14:00 に二か月後の同日分を発売します。無料のプライオリティパスは公式サイトのサービス一覧に載っておらず、待ち時間を短縮できるのは有料のディズニー・プレミアアクセス(一人一回 1,000~3,500 円)のみ。運営時間、25 周年イベント、スタンバイパス、エントリー受付、ファンタジースプリングスの利用方法、初回にランドとシーのどちらを選ぶかも解説。2026 年 9 月に公式サイトで確認しました。
- モデルコース
- 家族向け