Eine unbekannte Codebasis erklären
Ziel: Einem Neuling eine vertrauenswürdige Karte geben, mit Dateiverweisen, auf wenigen Seiten. Jede Behauptung muss auf eine gelesene Datei verweisen.
Erkunde in dieser Reihenfolge
- Zweck und Benutzer: README, Paketbeschreibung, Dokumentationsindex. Welches Problem löst das und für wen?
- Ausführen: Installations-, Ausführungs- und Testbefehle aus Manifests, Makefile und CI-Konfiguration. Führe die günstigen aus (Tests, Linting), um zu bestätigen, dass sie funktionieren; sag, welche du nicht ausgeführt hast.
- Struktur: Verzeichnisbaum zwei Ebenen tief (ignoriere
node_modules, Build-Ausgabe,.git). Notiere Sprache(n), Framework(s), Monorepo-Aufbau. - Einstiegspunkte:
main, Server-Startdatei, CLI-Einstieg, Routendefinitionen, geplante Jobs, Event-Handler,bin- undscripts-Einträge. - Einen echten Ablauf von Anfang bis Ende verfolgen: Wähle die zentralste Anfrage, den wichtigsten Befehl oder das wichtigste Ereignis und folge ihm vom Einstieg bis zur Speicherung oder Ausgabe. Liste jede Datei und Funktion in der Reihenfolge auf.
- Daten: Schemata, Modelle, Migrationen, Konfigurationsdateien, Umgebungsvariablen, die der Code liest (nur Namen, niemals Werte).
- Externe Berührungspunkte: Datenbanken, Warteschlangen, Drittanbieter-APIs, Authentifizierungsanbieter.
- Qualitätssignale: Wo Tests leben und was sie abdecken, CI-Prüfungen, Lint-Regeln, Bereiche mit TODOs, sehr große Dateien, kürzliche Änderungen (
git log --since="3 Monate ago" --name-only --pretty=format: | sort | uniq -c | sort -rn | head).
Ausgabe
# <repo> auf einer Seite
Zweck: ...
Ausführen: <Befehle, verifiziert oder nicht>
Karte: <Verzeichnis -> Verantwortung, eine Zeile pro Eintrag>
Ein Ablauf, Schritt für Schritt: <Datei:Funktion ...>
Daten und Konfiguration: ...
Externe Dienste: ...
Wo mit dem Lesen beginnen: <3 Dateien in Reihenfolge, mit Begründung>
Riskante oder verwirrende Bereiche: <Datei, Grund>
Offene Fragen: <Was du nicht ermitteln konntest>
Regeln
- Zitiere
Pfad:Zeileoder zumindestPfadfür jede Behauptung. Wenn du etwas abgeleitet hast, kennzeichne es mit „abgeleitet“. - Beschreibe keinen Code, den du nicht geöffnet hast. Rate nicht über den Geschäftskontext; setze es unter offene Fragen.
- Gib niemals geheime Werte aus
.env-Dateien oder Konfigurationen preis; liste nur Variablennamen auf. - Halte es kurz: Eine Karte, keine Besichtigungstour durch jede Datei.