# Arbeiten mit großen Codebasen (/de/docs/verdent-for-vscode/common-workflows/large-codebases)

> Strategien für die Navigation und das Arbeiten mit großen Codebasen



Das Arbeiten mit großen Codebasen erfordert spezifische Strategien, um Kontextbeschränkungen zu bewältigen und die Produktivität aufrechtzuerhalten. Dieser Leitfaden bietet praktische Workflows, um große Projekte mit Verdent for VS Code effizient zu navigieren, zu verstehen und zu bearbeiten.

***

## Verwenden des Explorer-Agenten zur Codebase-Erkundung [#verwenden-des-explorer-agenten-zur-codebase-erkundung]

Angenommen, Sie sind neu in einer großen Codebase und müssen herausfinden, wo eine bestimmte Funktionalität implementiert ist.

<Steps>
  <Step title="Stellen Sie breite Erkundungsfragen">
    ```
    Where is user authentication handled in this codebase?
    ```

    Verdent delegiert automatisch an den Explorer-Agenten, einen tokeneffizienten Spezialisten für Codebase-Suchen.
  </Step>

  <Step title="Der Explorer sucht effizient">
    Der Explorer-Agent:

    * Durchsucht Dateinamen und Pfade
    * Durchsucht den Code-Inhalt nach Schlüsselwörtern
    * Analysiert Architekturmuster
    * Liefert Ergebnisse mit Dateipfaden und Code-Ausschnitten
  </Step>

  <Step title="Verfeinern Sie Ihre Suche">
    ```
    Show me all files that import the authentication module
    ```

    Der Explorer kann Folgesuchen durchführen, um die Ergebnisse einzugrenzen.
  </Step>

  <Step title="Parallelisieren Sie komplexe Suchen">
    Für eine umfassende Erkundung kann Verdent mehrere Explorer-Agenten parallel ausführen:

    * Explorer 1: Findet die Authentifizierungslogik
    * Explorer 2: Findet die Autorisierungslogik
    * Explorer 3: Findet die Sitzungsverwaltung

    Durch die parallele Suche treffen die Ergebnisse schneller ein.
  </Step>
</Steps>

<Tip>
  **Tipps:**

  * Der Explorer-Agent arbeitet in großen Codebasen effizient, ohne den Hauptkontext zu füllen
  * Mehrere Explorer-Agenten können verschiedene Aspekte gleichzeitig durchsuchen
  * Nutzen Sie den Explorer für Musterabgleich und Architekturerkundung
  * Die Ergebnisse enthalten Dateipfade und relevante Code-Ausschnitte für den Kontext
</Tip>

***

## Aufgaben in überschaubare Abschnitte unterteilen [#aufgaben-in-überschaubare-abschnitte-unterteilen]

Angenommen, Sie arbeiten an einer großen Codebase und müssen eine Funktion hinzufügen, die viele Dateien betrifft.

<Steps>
  <Step title="Identifizieren Sie natürliche Aufgabengrenzen">
    Statt alles auf einmal anzufordern:

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

    Konzentrieren Sie sich zunächst auf eine einzelne, in sich geschlossene Komponente.
  </Step>

  <Step title="Schließen Sie die Phase vollständig ab">
    Arbeiten Sie Phase 1 vollständig durch, einschließlich Tests, bevor Sie zu Phase 2 übergehen. So entsteht ein klarer Kontrollpunkt.
  </Step>

  <Step title="Committen Sie Ihren Fortschritt">
    ```bash
    git add .
    git commit -m "feat: add notification data models"
    ```

    Ein Commit schafft einen sicheren Rückfallpunkt.
  </Step>

  <Step title="Leeren Sie den Kontext für die nächste Phase">
    Bei komplexen Aufgaben sollten Sie den Kontext leeren, bevor Sie zur nächsten Phase übergehen. So stellen Sie sicher, dass Verdent genügend Kontextkapazität hat, um die Spitzenleistung zu erhalten.

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

    Starten Sie eine neue Sitzung mit frischem Kontext, der sich ausschließlich auf Phase 2 konzentriert.
  </Step>
</Steps>

<Tip>
  **Tipps:**

  * Natürliche Unterbrechungspunkte verhindern eine Erschöpfung des Kontexts
  * Jede Phase sollte unabhängig testbar sein
  * Commits zwischen den Phasen ermöglichen sicheres Experimentieren
  * Neue Sitzungen halten den Kontext übersichtlich und fokussiert
</Tip>

***

## Plan Mode für umfangreiche Änderungen nutzen [#plan-mode-für-umfangreiche-änderungen-nutzen]

Angenommen, Sie müssen eine Funktion refaktorieren, die sich über Dutzende von Dateien in einer großen Codebase verteilt.

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

    Plan Mode ermöglicht eine reine Leseanalyse, ohne dass Kontext für Dateiänderungen verbraucht wird.
  </Step>

  <Step title="Nutzen Sie den Explorer, um alle betroffenen Dateien zu finden">
    ```
    Use the Explorer agent to find all files that reference payment processing
    ```

    Stellt sicher, dass jeder Ort erkannt wird, der aktualisiert werden muss.
  </Step>

  <Step title="Überprüfen Sie den umfassenden Plan">
    Verdent präsentiert einen Plan, der Folgendes zeigt:

    * Alle Dateien, die Änderungen erfordern (25 Dateien identifiziert)
    * Die minimale Menge an Dateien, die in den Hauptkontext aufgenommen werden sollen
    * Die Reihenfolge der Arbeitsschritte
    * Abhängigkeiten zwischen den Änderungen

    Prüfen Sie den Plan, bevor Sie sich für diesen Ansatz entscheiden.
  </Step>

  <Step title="Ausführung genehmigen">
    Sobald Sie mit dem Plan zufrieden sind, genehmigen Sie die Ausführung. Verdent arbeitet die Änderungen methodisch ab.
  </Step>
</Steps>

<Tip>
  **Tipps:**

  * Plan Mode hilft, minimale Dateimengen vor der Ausführung zu identifizieren
  * Der Explorer stellt sicher, dass bei umfangreichen Refactorings keine Dateien übersehen werden
  * Pläne zeigen den Umfang deutlich, bevor Kontext verbraucht wird
  * Speichern Sie Pläne in Dateien zur Dokumentation und Team-Überprüfung
</Tip>

***

## Koordinierte Änderungen über viele Dateien hinweg vornehmen [#koordinierte-änderungen-über-viele-dateien-hinweg-vornehmen]

Angenommen, Sie müssen eine Funktion umbenennen, die in mehr als 50 Dateien einer großen Codebase verwendet wird.

<Steps>
  <Step title="Nutzen Sie den Explorer, um alle Verwendungen zu finden">
    ```
    Use the Explorer agent to find all files that use the calculateTotal function
    ```

    Identifiziert jede Datei, die aktualisiert werden muss.
  </Step>

  <Step title="Überprüfen Sie den Umfang im Plan Mode">
    ```
    In Plan Mode: Rename calculateTotal to computeFinalTotal across all files
    ```

    Sehen Sie sich den vollständigen Umfang an, bevor Sie Änderungen vornehmen.
  </Step>

  <Step title="Stellen Sie sicher, dass keine Dateien übersehen werden">
    Verdent zeigt alle 52 Dateien an, die aktualisiert werden müssen. Prüfen Sie die Liste auf Vollständigkeit.
  </Step>

  <Step title="Koordinierte Änderungen ausführen">
    Genehmigen Sie den Plan. Verdent aktualisiert alle Dateien systematisch und stellt eine konsistente Umbenennung überall sicher.
  </Step>

  <Step title="Führen Sie Tests zur Überprüfung durch">
    ```
    Run the full test suite to verify all references were updated correctly
    ```

    Tests erfassen alle übersehenen Referenzen.
  </Step>
</Steps>

<Tip>
  **Tipps:**

  * Der Explorer stellt sicher, dass bei umfangreichen Änderungen keine Dateien übersehen werden
  * Plan Mode zeigt den vollständigen Umfang vor der Ausführung
  * Systematische Aktualisierungen erhalten die Konsistenz über alle Dateien hinweg
  * Testen Sie umfassend nach umfangreichen Refactorings
</Tip>

<Tip>
  Koordinierte Änderungen über viele Dateien hinweg sind in Phasen sicherer: Aktualisieren Sie eine Ebene, überprüfen Sie sie, und fahren Sie dann mit den abhängigen Ebenen fort.
</Tip>

***

## Häufig gestellte Fragen [#häufig-gestellte-fragen]

<Accordion title="Wie erkenne ich, dass ich mich den Kontextgrenzen nähere?">
  Anzeichen sind langsamere Antwortzeiten, Sitzungen, die mehrere Stunden laufen, oder viele geladene große Dateien. Beobachten Sie die Dauer Ihrer Sitzung und die Anzahl der Dateien. Wenn Sie eine Leistungsverschlechterung feststellen, schließen Sie Ihre aktuelle Aufgabe ab, committen Sie Ihren Fortschritt und starten Sie eine neue Sitzung mit sauberem Kontext.
</Accordion>

<Accordion title="Ist es sicher, Verdent Dutzende von Dateien gleichzeitig ändern zu lassen?">
  Ja, bei richtiger Anwendung. Nutzen Sie immer Plan Mode, um zunächst den vollständigen Umfang zu überprüfen, stellen Sie eine umfassende Testabdeckung sicher und committen Sie häufig zwischen den Phasen. So können Sie Änderungen schrittweise überprüfen und bei Bedarf leicht zurücksetzen.
</Accordion>

<Accordion title="Wann sollte ich den Explorer-Agenten verwenden statt Dateien direkt zu laden?">
  Verwenden Sie den Explorer-Agenten für Erkundungs- und Suchaufgaben, ohne den Hauptkontext zu verbrauchen. Laden Sie Dateien nur dann direkt über @-Erwähnungen, wenn Sie sie bearbeiten müssen. Der Explorer ist ideal für Fragen wie „Finde alle Dateien, die...", während @-Erwähnungen für Aufgaben wie „Aktualisiere diese bestimmte Datei" gedacht sind.
</Accordion>

<Accordion title="Welche Modell-Voreinstellung ist für die Arbeit mit großen Codebasen am besten geeignet?">
  Verwenden Sie die Voreinstellung Performance für komplexe, dateiübergreifende Operationen und Refactorings. Verwenden Sie die Voreinstellung Efficiency für einfache Suchen und Erkundungsaufgaben. Performance bietet mehr Reasoning-Fähigkeiten für koordinierte Änderungen, während Efficiency für die Erkundung schneller und kostengünstiger ist.
</Accordion>

***

## Siehe auch [#siehe-auch]

<CardGroup cols="2">
  <Card title="Beispiele für mehrstufige Aufgaben" icon="list-check" href="/docs/verdent-for-vscode/common-workflows/multi-step-tasks">
    Komplexe mehrstufige Workflows und Aufgabenverwaltung
  </Card>

  <Card title="Best Practices" icon="star" href="/docs/verdent-for-vscode/best-practices/context">
    Strategien für Kontextverwaltung und -optimierung
  </Card>
</CardGroup>
