Schreiben der Dokumentation für ein Kotlin-Projekt: 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 Dokumentation für ein Kotlin-Projekt wichtig ist

\n\n

Das Schreiben von Dokumentation ist nicht nur eine Formalität, sondern ein Schlüsselelement für ein erfolgreiches Kotlin-Projekt. Gut dokumentierter Code beschleunigt das Onboarding neuer Entwickler, vereinfacht die Wartung und reduziert die Anzahl der Fehler. Kotlin, als moderne Sprache, bietet leistungsstarke Werkzeuge zur Erstellung von Dokumentation: KDoc (Analogon zu JavaDoc) und Dokka (Dokumentationsgenerator). In diesem Artikel werden wir den gesamten Zyklus des Schreibens von Dokumentation für ein Kotlin-Projekt durchgehen: von Kommentaren im Code bis zur Veröffentlichung der fertigen Dokumentation.

\n\n

Unabhängig davon, ob Sie an einer Bibliothek, einer API oder einer internen Anwendung arbeiten, macht die Befolgung von Best Practices der Dokumentation Ihren Code verständlich und zugänglich. Beginnen wir mit den Grundlagen.

\n\n

Grundlagen von KDoc: Syntax und Struktur

\n\n

KDoc ist eine Auszeichnungssprache zur Dokumentation von Kotlin-Code. Sie basiert auf JavaDoc, ist aber an die Besonderheiten von Kotlin angepasst: Null-Sicherheit, Erweiterungsfunktionen, Eigenschaften und Lambdas. KDoc-Kommentare beginnen mit /** und enden mit */.

\n\n

Grundlegende Struktur eines KDoc-Kommentars

\n\n

Jeder KDoc-Kommentar besteht aus einer Beschreibung und optionalen Tags. Die wichtigsten Tags sind:

\n\n
    \n
  • @param — Beschreibung eines Funktionsparameters
  • \n
  • @return — Beschreibung des Rückgabewerts
  • \n
  • @throws oder @exception — Beschreibung einer Ausnahme
  • \n
  • @see — Verweis auf ein anderes Element
  • \n
  • @sample — Einfügen eines Codebeispiels
  • \n
  • @property — Beschreibung einer Klasseneigenschaft
  • \n
  • @constructor — Beschreibung des Konstruktors
  • \n
  • @receiver — Beschreibung des Empfängers für Erweiterungsfunktionen
  • \n
\n\n

Beispiel eines einfachen KDoc-Kommentars:

\n\n
/**\n * Berechnet die Fakultät einer gegebenen Zahl.\n *\n * Verwendet einen iterativen Ansatz, um einen Stack-Überlauf zu vermeiden.\n * Funktioniert nur mit nicht-negativen ganzen Zahlen.\n *\n * @param n Nicht-negative ganze Zahl, für die die Fakultät berechnet wird\n * @return Fakultät der Zahl n (n!)\n * @throws IllegalArgumentException wenn n < 0\n */\nfun factorial(n: Int): Long {\n    require(n >= 0) { "n must be non-negative" }\n    var result = 1L\n    for (i in 2..n) {\n        result *= i\n    }\n    return result\n}
\n\n

Dokumentation von Eigenschaften und Klassen

\n\n

Verwenden Sie für Klassen und Eigenschaften das Tag @property:

\n\n
/**\n * Stellt einen Benutzer des Systems dar.\n *\n * @property id Eindeutige Benutzerkennung\n * @property name Vollständiger Name des Benutzers\n * @property email E-Mail-Adresse\n * @property isActive Flag für die Kontoaktivität\n */\ndata class User(\n    val id: Long,\n    val name: String,\n    val email: String,\n    val isActive: Boolean = true\n)
\n\n

Generierung von Dokumentation mit Dokka

\n\n

Dokka ist das offizielle Tool zur Generierung von Kotlin-Dokumentation. Es unterstützt mehrere Ausgabeformate: HTML, Markdown, Javadoc und JSON. Dokka kann plattformübergreifende Projekte verarbeiten und Kotlin-spezifische Konstrukte korrekt darstellen.

\n\n

Einrichtung von Dokka in Gradle

\n\n

Um Dokka zu einem Projekt hinzuzufügen, binden Sie das Plugin in build.gradle.kts ein:

\n\n
plugins {\n    id("org.jetbrains.dokka") version "1.9.20"\n}\n\ntasks.dokkaHtml {\n    outputDirectory.set(buildDir.resolve("dokka"))\n    moduleName.set("My Kotlin Library")\n}\n\ntasks.dokkaJavadoc {\n    outputDirectory.set(buildDir.resolve("javadoc"))\n}
\n\n

Führen Sie anschließend den Befehl ./gradlew dokkaHtml aus – die Dokumentation wird im Ordner build/dokka generiert.

\n\n

Erweiterte Funktionen von Dokka

\n\n

Dokka unterstützt die Anpassung des Erscheinungsbilds, das Ein-/Ausschließen von Paketen und das Hinzufügen zusätzlicher Seiten. Beispiel für eine Konfiguration mit Anpassung

Blogs

Buchempfehlungen