---
title: 處理大型程式碼庫
description: 在大型程式碼庫中導覽與工作的策略
---

處理大型程式碼庫需要特定策略來管理上下文限制並維持生產力。本指南提供實用的工作流程，協助你使用 Verdent for VS Code 有效率地導覽、理解並修改大型專案。

---

## 使用 Explorer 代理探索程式碼庫

假設你剛接觸一個大型程式碼庫，需要找出特定功能實作的位置。

<Steps>
  <Step title="提出廣泛的探索性問題">
    ```
    Where is user authentication handled in this codebase?
    ```

    Verdent 會自動委派給 Explorer 代理，這是一個對 token 使用高效的程式碼庫搜尋專家。
  </Step>

  <Step title="Explorer 高效搜尋">
    Explorer 代理會：
    - 搜尋檔案名稱與路徑
    - 對程式碼內容進行關鍵字 grep
    - 分析架構模式
    - 回傳包含檔案路徑與程式碼片段的結果
  </Step>

  <Step title="精煉你的搜尋">
    ```
    Show me all files that import the authentication module
    ```

    Explorer 可以執行後續搜尋以縮小結果範圍。
  </Step>

  <Step title="平行化複雜搜尋">
    若要進行全面探索，Verdent 可以平行執行多個 Explorer 代理：
    - Explorer 1：尋找身分驗證邏輯
    - Explorer 2：尋找授權邏輯
    - Explorer 3：尋找工作階段管理

    透過平行搜尋，結果能更快回傳。
  </Step>
</Steps>

<Tip>
  **提示：**
  - Explorer 代理在大型程式碼庫中高效運作，不會佔滿主要上下文
  - 多個 Explorer 代理可同時搜尋不同面向
  - 使用 Explorer 進行模式比對與架構探索
  - 結果包含檔案路徑與相關程式碼片段以提供上下文
</Tip>

***

## 將任務拆解成可管理的區塊

假設你正在處理一個大型程式碼庫，需要新增一項牽涉許多檔案的功能。

<Steps>
  <Step title="找出自然的任務邊界">
    與其一次要求所有事情：

    ```
    Phase 1: Add the data models for the notification system
    ```

    先聚焦於一個獨立的元件。
  </Step>

  <Step title="完整完成該階段">
    在進入第 2 階段之前，先完整處理第 1 階段，包括測試。這會建立一個乾淨的檢查點。
  </Step>

  <Step title="提交你的進度">
    ```bash
    git add .
    git commit -m "feat: add notification data models"
    ```

    提交可建立一個安全的回滾點。
  </Step>

  <Step title="為下一階段清除上下文">
    對於複雜任務，在進入下一階段前先清除上下文。這能確保 Verdent 有足夠的上下文容量以維持最佳效能。

    ```
    Phase 2: Build the notification API endpoints using the data models
    ```

    以全新且僅聚焦於第 2 階段的上下文開始新工作階段。
  </Step>
</Steps>

<Tip>
  **提示：**
  - 自然的斷點可避免上下文耗盡
  - 每個階段都應可獨立測試
  - 在各階段之間提交可進行安全的實驗
  - 全新工作階段能保持上下文乾淨且聚焦
</Tip>

***

## 善用 Plan Mode 進行大規模變更

假設你需要重構一個散佈在大型程式碼庫數十個檔案中的功能。

<Steps>
  <Step title="從 Plan Mode 開始">
    ```
    Switch to Plan Mode: Refactor the payment processing logic to use a new payment provider across all files
    ```

    Plan Mode 允許唯讀分析，不會因檔案修改而消耗上下文。
  </Step>

  <Step title="使用 Explorer 找出所有受影響的檔案">
    ```
    Use the Explorer agent to find all files that reference payment processing
    ```

    確保你能發現每一處需要更新的位置。
  </Step>

  <Step title="檢視全面的計畫">
    Verdent 會呈現一份計畫，顯示：
    - 所有需要變更的檔案（已識別 25 個檔案）
    - 需納入主要上下文的最小檔案集合
    - 操作順序
    - 變更之間的相依關係

    在確定採用此方法前先檢視。
  </Step>

  <Step title="批准執行">
    對計畫滿意後，批准執行。Verdent 會有條理地逐一處理變更。
  </Step>
</Steps>

<Tip>
  **提示：**
  - Plan Mode 有助於在執行前識別最小檔案集合
  - Explorer 確保大規模重構中不會遺漏任何檔案
  - 計畫能在消耗上下文前清楚顯示範圍
  - 將計畫儲存為檔案以供文件記錄與團隊審查
</Tip>

***

## 跨多個檔案進行協調性變更

假設你需要重新命名一個在大型程式碼庫中被 50 多個檔案使用的函式。

<Steps>
  <Step title="使用 Explorer 找出所有使用處">
    ```
    Use the Explorer agent to find all files that use the calculateTotal function
    ```

    識別每個需要更新的檔案。
  </Step>

  <Step title="在 Plan Mode 中檢視範圍">
    ```
    In Plan Mode: Rename calculateTotal to computeFinalTotal across all files
    ```

    在進行變更前查看完整範圍。
  </Step>

  <Step title="確認沒有遺漏任何檔案">
    Verdent 顯示全部 52 個需要更新的檔案。檢視清單以確保完整性。
  </Step>

  <Step title="執行協調性變更">
    批准計畫。Verdent 會系統性地更新所有檔案，確保各處命名一致。
  </Step>

  <Step title="執行測試以驗證">
    ```
    Run the full test suite to verify all references were updated correctly
    ```

    測試能找出任何遺漏的參照。
  </Step>
</Steps>

<Tip>
  **提示：**
  - Explorer 確保大規模變更中不會遺漏任何檔案
  - Plan Mode 在執行前顯示完整範圍
  - 系統性更新可在所有檔案間維持一致性
  - 在大規模重構後進行全面測試
</Tip>

<Tip>
跨多個檔案的協調性變更若分階段進行會更安全，先更新一層、驗證，再進入相依的層級。
</Tip>

***

## 常見問題

<Accordion title="我如何知道自己快接近上下文限制了？">
徵兆包括回應速度變慢、工作階段持續數小時，或載入了許多大型檔案。請監控你的工作階段長度與檔案數量。當你注意到效能下降時，請完成當前任務、提交你的進度，並以乾淨的上下文開始新的工作階段。
</Accordion>

<Accordion title="讓 Verdent 一次修改數十個檔案安全嗎？">
若使用得當，是安全的。請務必先使用 Plan Mode 檢視完整範圍、確保你有全面的測試覆蓋率，並在各階段之間頻繁提交。這能讓你逐步驗證變更，並在需要時輕鬆回滾。
</Accordion>

<Accordion title="我該在什麼時候使用 Explorer 代理，而非直接載入檔案？">
使用 Explorer 代理進行探索與搜尋任務，不會消耗主要上下文。只有在需要修改檔案時，才透過 @-mention 直接載入檔案。Explorer 適合「找出所有……的檔案」這類問題，而 @-mention 則適合「更新這個特定檔案」的任務。
</Accordion>

<Accordion title="哪個模型預設最適合大型程式碼庫工作？">
複雜的多檔案操作與重構請使用 Performance 預設。簡單的搜尋與探索任務請使用 Efficiency 預設。Performance 為協調性變更提供更強的推理能力，而 Efficiency 在探索時更快速且更具成本效益。
</Accordion>

***

## 另請參閱

<CardGroup cols={2}>
  <Card title="多步驟任務範例" icon="list-check" href="/docs/verdent-for-vscode/common-workflows/multi-step-tasks">
    複雜的多步驟工作流程與任務管理
  </Card>

  <Card title="最佳實踐" icon="star" href="/docs/verdent-for-vscode/best-practices/context">
    上下文管理與最佳化策略
  </Card>
</CardGroup>
