高度な実践シナリオ · シナリオ2

新しい会社のプロジェクトにすぐ慣れる

新しいプロジェクトを素早く理解するための体系的な方法を習得しよう。コードの読み解きからプロジェクト理解まで、素早い立ち上がりから知識の蓄積まで。AIツールでコードの読解と理解を加速し、新しいチームにすばやく馴染めます。

学習目標

新しいプロジェクトを素早く理解するための体系的な方法を習得する
AI ツールを使ってコードの読み取りと理解を加速できる
知識を蓄積し共有する能力を備えている
プロジェクト理解フレームワーク(業務理解 → アーキテクチャ理解 → コード理解)を理解する

方法論

コード読解の戦略

トップダウン(Top-Down)

  • 適用シーン:全体アーキテクチャと業務フローをすばやく把握する必要がある
  • 読み取り順序:README → アーキテクチャドキュメント → エントリファイル → 主要モジュール → 具体的な実装
  • 利点:全体像を素早く構築し、業務ロジックを理解する

ボトムアップ(Bottom-Up)

  • 適用シーン:特定の機能やモジュールを深く理解する必要がある
  • 読み取り順序:具体的な実装 → モジュールインターフェース → モジュール依存関係 → 全体アーキテクチャ
  • 利点:実装の詳細を深く理解し、技術的な細部を把握する

AIツールの活用:WindsurfのFast ContextまたはCursor Agentを使用して、大規模なコードベースの全体構造と主要モジュールをすばやく理解する。

プロジェクト理解フレームワーク

1
業務理解:ビジネス目標、ユーザーニーズ、業務プロセス、業務ルールを理解する
  • • 製品ドキュメント、要件ドキュメント、ユーザーストーリーを読む
  • • 業務モデルとデータモデルを理解する
  • • AIツールを使用:NotebookLM で業務文書を整理する
2
アーキテクチャ理解:システムアーキテクチャ、モジュール分割、技術スタック、データフローを理解する
  • • アーキテクチャ文書、技術文書を読む
  • • モジュールの依存関係とデータフローを理解する
  • • AIツールの使用:Windsurfがコード構造を分析し、Cursor Agentがアーキテクチャ図を生成
3
コード理解:コード構造、主要な実装、デザインパターン、ベストプラクティスを理解
  • • 重要なコードを読み、実装ロジックを理解する
  • • コードスタイルとデザインパターンを理解する
  • • AI ツールを使用する:Cursor Agent コードQ&A、Zread コード分析

クイックスタートワークフロー

段階1:文書の読解(1〜2日)

  • • README、アーキテクチャ文書、API 文書を読む
  • • プロジェクトの目標、技術スタック、開発プロセスを理解する
  • • AI ツールを使用:NotebookLM で文書を整理、Fabric で要約を生成

段階2:コード探索(2〜3日)

  • • プロジェクトを実行し、起動フローを理解する
  • • 主要モジュールを探索し、コード構造を理解する
  • • AIツールを使用:Windsurfで素早く理解、Cursor AgentでコードQ&A

フェーズ3:小機能の開発(3〜5日)

  • • 小さな機能を1つ選んで開発する
  • • 開発プロセス、コード規約、テスト要件を理解する
  • • AIツールを使用:Cursor Agentによる開発支援、コードレビュー

フェーズ4:リファクタリング最適化(継続中)

  • • コードの問題を検出し、改善提案を行う
  • • コードをリファクタリングし、コード品質を向上させる
  • • AI ツールを使用:Cursor Agent コード最適化、リファクタリング提案

知識を蓄積する方法

ノートとドキュメント

  • 学習ノート:重要な概念、アーキテクチャ設計、コードパターンを記録する
  • 問題記録:遭遇した問題と解決策を記録する
  • ベストプラクティス:プロジェクト内のベストプラクティスとデザインパターンをまとめる

Skill/Patternの作成

  • Cursor Skill:プロジェクト固有の開発パターンを Skill としてカプセル化する
  • Fabric Pattern:一般的なコードパターンをPatternとしてカプセル化する
  • チーム共有:Skill と Pattern はチーム内で共有・再利用できます

知識共有

  • 技術共有:チーム内で学習の収穫とベストプラクティスを共有する
  • ドキュメント更新:プロジェクト文書を更新し、不足している情報を補う
  • コードレビュー:コードレビューを通じて知識を学び、共有する

AIツールの活用

WindsurfのFast Contextを使って大規模コードベースをすばやく理解する

Windsurf の Fast Context 技術は、大規模なコードベースをすばやく分析し、全体構造を理解できます:

  • クイックインデックス:コードベース全体を自動インデックス化し、コードマップを構築する
  • スマート検索:関連するコードとファイルを素早く検索
  • コンテキスト理解:コード間の依存関係とデータフローを理解する
  • アーキテクチャ分析:システムアーキテクチャとモジュール分割を自動分析する

Cursor Agentを使用してコード探索とQ&Aを行う

CursorのAgentモードを使って、Q&A形式でコードを理解する:

例題:

  • • 「この関数は何をしますか?」
  • • 「このモジュールはどの他のモジュールに依存していますか?」
  • • "データはどのようにAPIからUIへ流れるのか?"
  • • 「このデザインパターンは何ですか?なぜこのように設計するのですか?」
  • • AI はコードを分析し、あなたの質問に答える
  • • 深く掘り下げて質問でき、実装の詳細を理解できる
  • • コードコメントとドキュメントを生成する

Zread を使用して GitHub リポジトリを分析する

Zread は GitHub リポジトリをすばやく分析し、プロジェクト構造を理解できます:

  • リポジトリの概要:プロジェクト構成、技術スタック、依存関係をすばやく把握する
  • コード分析:コード品質、複雑度、デザインパターンを分析
  • コミット履歴:プロジェクトの進化の履歴と主要な変更を理解する
  • 問題の特定:潜在的な問題と改善の余地を特定する

NotebookLM を使って文書整理と知識抽出を行う

NotebookLM はプロジェクト文書を整理し、重要な情報を抽出できます:

  • 文書の取り込み:README、アーキテクチャ文書、API 文書を取り込む
  • 知識抽出:主要な概念、アーキテクチャ設計、API インターフェースを自動抽出する
  • Q&A システム:ドキュメントの内容に基づいて質問に答える
  • 知識のまとめ:プロジェクトの概要と知識グラフを生成する

Fabric を使用してコード要約を生成する

FabricのPatternsを使用してコード要約を自動生成:

  • コード要約:関数、モジュール、ファイルの要約を自動生成する
  • アーキテクチャ文書:コードに基づいてアーキテクチャ文書を生成する
  • API ドキュメント:コードコメントに基づいて API ドキュメントを生成
  • 学習ノート:学習ノートと知識の要約を生成する

実践事例

ケース1:Monorepo プロジェクトにすばやく慣れる

プロジェクトの特徴

  • • 複数のパッケージとサービスを含む Monorepo 構成
  • • pnpm workspaces を使用して依存関係を管理する
  • • コード量が膨大で、モジュール間の依存関係が複雑

ステップ1:Windsurfを使って構造を素早く把握する(1日)

  • • Windsurf を開き、Monorepo 全体を読み込む
  • • Fast Context を使用してプロジェクト構造を分析する
  • • パッケージ間の依存関係を理解する
  • • コアパッケージと主要モジュールを特定する

ステップ2:Cursor Agentを使って重要モジュールを探索する(2日)

  • • コアパッケージを選び、Cursor Agent を使ってコードに関する Q&A を行う
  • • モジュールの責務とインターフェースを理解する
  • • データフローと呼び出しチェーンを理解する
  • • モジュールドキュメントとアーキテクチャ図を生成する

ステップ3:小さな機能を開発する(3日)

  • • 小さな機能を1つ選んで開発する
  • • 開発フローとコード規約を理解する
  • • Cursor Agentを使用して開発を支援する
  • • コードを提出し、コードレビューを行う

ステップ4:知識の蓄積(継続)

  • • Cursor Skill を作成し、プロジェクト固有の開発パターンをカプセル化する
  • • 欠落している情報を補うため、プロジェクト文書を更新する
  • • チーム内で学習内容を共有する

ケース2:レガシーシステムに素早く慣れる

プロジェクトの特徴

  • • レガシーシステム、コード品質がまちまち
  • • ドキュメントが欠落している、または不完全
  • • 技術スタックが古く、過去の設計を理解する必要がある

ステップ1:Zreadを使用してGitHubリポジトリを分析する(半日)

  • • Zreadを使用してリポジトリ構造を分析する
  • • 技術スタックと依存関係を理解する
  • • コミット履歴を確認し、プロジェクトの進化を理解する
  • • 重要なファイルとモジュールを特定する

ステップ2:NotebookLM を使用してドキュメントを整理する(1日)

  • • 既存のドキュメントとREADMEをインポートする
  • • NotebookLM を使用して重要な情報を抽出する
  • • プロジェクト概要と知識グラフを生成する
  • • ドキュメント内容に基づく Q&A

ステップ3:Cursor Agentを使ってコードを理解する(2〜3日)

  • • 主要モジュールを選択し、Cursor Agent を使ってコードのQ&Aを行う
  • • ビジネスロジックと実装の詳細を理解する
  • • コードの問題点と改善の余地を特定する
  • • コードコメントとドキュメントを生成する

ステップ4:リファクタリングと最適化(継続)

  • • コードの問題を特定し、リファクタリングの提案を行う
  • • Cursor Agent を使用してリファクタリングを支援
  • • ドキュメントを更新し、リファクタリングの過程を記録する
  • • ベストプラクティス文書を作成する

学習成果チェックリスト

コード読解戦略(トップダウン vs ボトムアップ)を習得し、状況に応じて適切な戦略を選択できる
プロジェクト理解フレームワーク(ビジネス理解 → アーキテクチャ理解 → コード理解)を理解し、新しいプロジェクトを体系的に把握できる
クイックスタートのワークフローを習得する(ドキュメント読解 → コード探索 → 小機能開発 → リファクタリング最適化)
WindsurfのFast Contextを使って大規模なコードベースを素早く理解できる
Cursor Agentを使ってコード探索とQ&Aができる
Zreadを使用してGitHubリポジトリを分析できる
NotebookLM と Fabric を使ってドキュメント整理と知識抽出ができる
知識の蓄積と共有能力を持ち、Skill/Patternを作成し、ドキュメントを更新できる
少なくとも1つの実践ケース(Monorepoプロジェクトまたはレガシーシステム)を完了する