高度なワークフロー
複雑なプロジェクトのパターン。コードレビュー、リファクタリング、マイグレーション、本番グレードのワークフロー。
プレミアムコースコンテンツ
このレッスンはプレミアムコースの一部です。Proにアップグレードすると、すべてのプレミアムコースとコンテンツを利用できます。
- すべてのプレミアムコースを利用
- 1,000以上のAIスキルテンプレート付き
- 毎週新しいコンテンツを追加
🔄 前回のおさらい: レッスン6でBash統合——run-and-interpretパターン、自動化ワークフロー、コマンドの安全管理を学びました。ここではこれまでのすべてを組み合わせた、実際の開発で使うプロフェッショナルなワークフローを学びます。
レベルアップ
基礎は身につきました。ここからは実際の開発で組み合わせて使う方法を見ていきましょう。
これらのワークフローは、プロが本格的な仕事でClaude Codeをどう使っているかを反映しています。
ワークフロー:プログレッシブリファインメント
一発で完璧なコードを出そうとせず、反復的に構築します。
フェーズ1:動く実装
> APIからユーザーデータを取得してキャッシュする関数を作成して。
> まず動くことに集中。エッジケースはまだ気にしなくていい。
まず機能するものを作る。
フェーズ2:テスト追加
> この関数のテストを追加して。カバーすべき:
> - 正常なフェッチ
> - ネットワークエラー
> - 無効なレスポンス
> - キャッシュヒット
改善の前にテスト。
フェーズ3:エッジケース
> 実装を改善して:
> - レートリミット対応
> - バックオフ付きリトライロジック
> - 部分的レスポンスの処理
的確な改善。
フェーズ4:本番品質への仕上げ
> 本番レディかレビューして:
> - 適切なエラーメッセージ
> - ログ
> - 型安全性
> - ドキュメント
最終仕上げ。
なぜこれが機能するか: 各フェーズに明確なゴールがある。各ステップで検証する。問題を早期にキャッチ。
ワークフロー:コードレビューパートナー
PR前にClaudeをコードレビュアーとして活用。
/add $(git diff --name-only main)
> シニアデベロッパーとしてこれらの変更をレビューして。
> 注目ポイント:
> - ロジックエラー
> - 見逃しそうなエッジケース
> - パフォーマンスの懸念
> - セキュリティの問題
> 気になる点をフラグして。
チームメイトが見つける前にClaudeが問題をキャッチ。
フォローアップパターン:
> SQLインジェクションのリスク、いい指摘だ。修正して。
> 指摘されたエッジケースのテストを追加して。
✅ 確認クイズ: プログレッシブリファインメントが「一発完璧主義」より効果的な理由は?→各フェーズに明確なゴールがあり、各ステップで検証するため問題を早期にキャッチできます。一発で完璧を目指すと、問題が積み重なり発見が遅れ、修正が大変になります。「動く→テスト→改善→仕上げ」の順序が最も効率的。
ワークフロー:大規模リファクタリング
多くのファイルにまたがるリファクタリングには構造が必要。
ステップ1:計画
> コールバックベースの非同期コードをすべてasync/awaitに変換する必要がある。
> まずコードベースをスキャンして変更が必要なファイルをすべてリストアップ。
> 複雑度別にグルーピング(シンプル、中程度、複雑)。
ステップ2:チャンクで実行
# セッション1
/add src/utils/*.js
> これらのファイルをasync/awaitに変換して。マイグレーションガイドに従って。
# 検証
> これらのファイルのテストを実行して。
# セッション2
/clear
/add src/services/*.js
> これらのファイルをasync/awaitに変換して。同じパターンで。
# チャンクごとに続ける...
ステップ3:完了確認
> コードベースに残っているコールバックパターンを検索して。
> 見逃したファイルがあればリストアップ。
ワークフロー:テスト駆動開発
Claudeはワークフローを構造化すればTDDに優れます。
> ショッピングカートの合計計算機を追加する。
> まずテストを書いて。考慮すべきケース:
> - 空のカート
> - 単一アイテム
> - 複数アイテム
> - 割引
> - 税計算
> - 通貨の丸め
> まだ実装しない——テストだけ。
テストをレビュー。次に:
> すべてのテストがパスするように実装して。
次に:
> テストを実行して。失敗があれば修正して。
ワークフロー:レガシーコードの理解
不慣れなコードを引き継いだ時:
ステップ1:概要把握
/add README.md package.json src/index.js
> このプロジェクトのハイレベルな概要を教えて。
> 技術スタックは?主な目的は?
ステップ2:アーキテクチャ
/add src/*.js
> アーキテクチャをマッピングして。主なモジュールは?
> どう接続されている?
ステップ3:深掘り
/add src/core/*.js
> これがコアロジックのようだ。どう動くか説明して。
ワークフロー:ラバーダックデバッグ
Claudeに考えてもらうのではなく、一緒に考えてもらう。
> この認証バグで行き詰まっている。
> 何が起きていると思うか説明するので、ロジックにギャップがないか教えて。
[自分の理解を説明]
> 何を見落としている?前提のどこが間違っている可能性がある?
Claudeはよく推論の欠陥を見つけます。
バリエーション:コードウォークスルー
/add src/complex-logic.js
> ジュニアデベロッパーに説明するようにこのコードを解説して。
> 自分の理解が正しいか確認したい。
ワークフロー:本番インシデント対応
何かが壊れた時:
> 本番で問題が発生。ユーザーがチェックアウトで500エラーを報告。
> 調査を手伝って。分かっていること:
> [エラーログを貼り付け]
/add src/checkout/*.js
> このエラーの原因は何が考えられる?
次に:
> 仮説1を検証しよう:データベース接続の問題。
> 確認のためにどんなコマンドを実行すべき?
AIの支援によるシステマティックなデバッグ。
まとめ
- プログレッシブリファインメント:動く→テスト済み→本番品質
- PR前のコードレビューパートナーとしてClaudeを活用
- 大規模リファクタリングは構造化:計画→チャンク→検証→繰り返し
- TDDワークフロー:先にテスト、次に実装
- ロジックのギャップ発見にラバーダックワークフロー
- ワークフローの複雑さをタスクの複雑さに合わせる
次のレッスン: キャップストーンですべてをまとめて、完全な機能をゼロから構築します。
理解度チェック
まず上のクイズを完了してください
レッスン完了!