Schreiben von Dokumentation für TypeScript-Projekte: von A bis Z

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

Einleitung: Warum ist Dokumentation in TypeScript-Projekten wichtig?

\n

Qualitativ hochwertige Dokumentation ist nicht nur ein netter Bonus, sondern ein kritisches Element jedes professionellen TypeScript-Projekts. Sie dient als Brücke zwischen Entwicklern, erleichtert das Onboarding neuer Teammitglieder und hilft, Fehler bei der Nutzung von APIs zu vermeiden. TypeScript bietet mit seinem leistungsstarken Typsystem einzigartige Möglichkeiten zur Generierung präziser und selbstdokumentierender Dokumentation. In diesem Artikel werden wir den gesamten Prozess durchgehen: vom Schreiben von Kommentaren im Code bis zur Veröffentlichung der fertigen Dokumentation.

\n\n

Grundlagen: JSDoc und Annotationen für TypeScript

\n

TypeScript unterstützt die JSDoc-Syntax, die es ermöglicht, strukturierte Kommentare direkt in den Code einzufügen. Dies ist die Grundlage für die Erstellung von Dokumentation, die sowohl für Menschen als auch für Werkzeuge verständlich ist.

\n\n

Basis-JSDoc-Tags

\n

Beginnen wir mit einem einfachen Beispiel einer Funktion, die zwei Zahlen addiert:

\n
/**\n * Addiert zwei Zahlen.\n * @param a - Erster Summand.\n * @param b - Zweiter Summand.\n * @returns Summe der beiden Zahlen.\n */\nfunction add(a: number, b: number): number {\n    return a + b;\n}
\n

Wichtige Tags:

\n
    \n
  • @param — beschreibt ein Funktionsargument. Es wird empfohlen, Typ und Zweck anzugeben.
  • \n
  • @returns — beschreibt den Rückgabewert.
  • \n
  • @throws — gibt an, welche Ausnahmen die Funktion auslösen kann.
  • \n
  • @example — zeigt ein Anwendungsbeispiel.
  • \n
\n\n

Dokumentation komplexer Typen

\n

Für Interfaces und Typen verwenden Sie @property oder beschreiben Sie die Felder innerhalb des Blocks:

\n
interface UserConfig {\n    /** Benutzername */\n    name: string;\n    /** Alter des Benutzers (optional) */\n    age?: number;\n    /** Rolle im System */\n    role: 'admin' | 'user';\n}\n\n/**\n * Erstellt eine Benutzerkonfiguration.\n * @param config - Objekt mit Benutzereinstellungen.\n * @returns Konfigurationsobjekt.\n */\nfunction createUser(config: UserConfig): UserConfig {\n    return config;\n}
\n

Verwenden Sie @template für Generics:

\n
/**\n * Wrapper zum Speichern eines Werts.\n * @template T - Typ des gespeicherten Werts.\n */\nclass Box<T> {\n    /** Gespeicherter Wert */\n    value: T;\n    constructor(value: T) {\n        this.value = value;\n    }\n}
\n\n

Werkzeuge zur Dokumentationsgenerierung: TypeDoc

\n

TypeDoc ist das primäre Werkzeug zur automatischen Generierung von Dokumentation aus JSDoc-Annotationen in TypeScript. Es erstellt eine statische HTML-Website mit benutzerfreundlicher Navigation.

\n\n

Installation und Konfiguration

\n

Installieren Sie TypeDoc als dev-Abhängigkeit:

\n
npm install --save-dev typedoc
\n

Erstellen Sie eine Konfigurationsdatei typedoc.json im Projektstammverzeichnis:

\n
{\n  "entryPoints": ["src/index.ts"],\n  "out": "docs",\n  "theme": "default",\n  "excludePrivate": true,\n  "excludeProtected": false,\n  "includeVersion": true,\n  "categorizeByGroup": true\n}
\n

Konfigurationsparameter:

\n
    \n
  • entryPoints — Einstiegspunkt in Ihr Projekt (normalerweise die Hauptexportdatei).
  • \n
  • out — Ordner, in den die Dokumentation generiert wird.
  • \n
  • excludePrivate — private Klassenmitglieder ausblenden.
  • \n
  • includeVersion — Projektversion zur Dokumentation hinzufügen.
  • \n
\n\n

Generierung starten

\n

Fügen Sie ein Skript in package.json hinzu:

\n
{\n  "scripts": {\n    "docs:generate": "typedoc"\n  }\n}
\n

Führen Sie den Befehl aus:

\n
npm run docs:generate
\n

Danach erscheint im Ordner docs eine statische Website. Öffnen Sie docs/index.html im Browser.

\n\n

Best Practices für das Schreiben von Dokumentation

\n

Damit die Dokumentation nützlich ist, befolgen Sie einige Regeln.

\n\n

1. Schreiben Sie Kommentare

Blogs

Buchempfehlungen