Javadoc

Im heutigen Artikel werden wir über Javadoc sprechen, ein faszinierendes und faszinierendes Thema, das die Aufmerksamkeit von Menschen jeden Alters und aus verschiedenen Teilen der Welt auf sich gezogen hat. Javadoc war Gegenstand von Debatten und Analysen und hat in der heutigen Gesellschaft großes Interesse geweckt. In diesem Artikel werden wir die verschiedenen Aspekte von Javadoc untersuchen, von seinem Ursprung und seiner Entwicklung bis hin zu seinen Auswirkungen auf das tägliche Leben der Menschen. Darüber hinaus werden wir seine Relevanz im aktuellen Kontext analysieren und die möglichen zukünftigen Auswirkungen von Javadoc diskutieren. Sind Sie bereit, in diese faszinierende Welt einzutauchen? Dann begleiten Sie uns auf dieser Entdeckungs- und Lernreise!

Javadoc ist ein Software-Dokumentationswerkzeug, das aus Java-Quelltexten automatisch HTML-Dokumentationsdateien erstellt. Javadoc wurde ebenso wie Java von Sun Microsystems entwickelt und ist ab Version 2 ein Bestandteil des Java Development Kits.

Die Dokumentation kann durch spezielle Kommentare im Quelltext angereichert werden, hierbei kommen Tags zum Einsatz, die dazu dienen, z. B. Interfaces, Klassen, Methoden und Felder näher zu beschreiben. Neben der Standardausgabe in HTML sind alternative Ausgaben durch spezielle Doclets möglich. Dies ist eine einfache Form des Literate programming.

Funktionsweise

Javadoc erhält beim Aufruf Optionen mit Angaben über die zu dokumentierenden Java-Quelltexte. Javadoc parst die Quelltexte nach allen Javadoc-Kommentaren (beginnend mit /**) und den darauf folgenden, nicht-lokalen Symbolen. Jeder Javadoc-Kommentar wird nach darin enthaltenen Javadoc-Tags (beginnend mit @ oder {@) gescannt. Diese enthalten Metadaten mit dokumentativem Charakter über das jeweilige Symbol. Mit Hilfe sogenannter Taglets kann der bestehende Tag-Wortschatz von Javadoc erweitert werden. Das Doclet erzeugt anschließend die Ausgabe. Das Standard-Doclet erzeugt eine Ausgabe in HTML. Es existieren aber auch weitere Doclets, um die Dokumentation in anderen Formaten wie RTF, XML, PDF, FrameMaker, Windows Help und einigen mehr zu erzeugen.

Beispiel-Quelltext

/**
 * Ein Hello-World-Programm in Java.
 * Dies ist ein Javadoc-Kommentar.
 *
 * @author John Doe
 * @version 1.0
 */
public class Hello {
    /**
     * Hauptprogramm.
     *
     * @param args Kommandozeilenparameter
     */
    public static void main(String args) {
        System.out.println("Hallo Welt!");
    }
}

Beispiel-Ausgabe

Ein Beispiel für die Ausgabe von Javadoc ist die Java-API-Dokumentation von Oracle (siehe Weblinks), die mit Hilfe von Javadoc erstellt wurde.

Übersicht der Javadoc-Tags

Tag und Parameter Ausgabe Verwendung in seit
@author name Beschreibt den Autor. Klasse, Interface
@version version Erzeugt einen Versionseintrag. Maximal einmal pro Klasse oder Interface. Bei Verwendung eines Versionsverwaltungssystems wie z. B. CVS kann durch Verwendung eines von dessen Schlüsselwörtern der Eintrag automatisch aktuell gehalten werden: @version $Revision$ Klasse, Interface
@since jdk-version Seit wann die Funktionalität existiert. Klasse, Interface, Instanzvariable, Methode
@see reference Erzeugt einen Link auf ein anderes Element der Dokumentation. Klasse, Interface, Instanzvariable, Methode
@serial Beschreibt die serialisierten Daten eines Serializable-Objekts. Klasse
@serialField Dokumentiert ein Feld eines Serializable-Objekts. Klasse, Methode
@param name description Parameterbeschreibung einer Methode. Methode
@return description Beschreibung des Rückgabewerts einer Methode. Methode
@exception classname description
@throws classname description
Beschreibung einer Exception, die von dieser Methode geworfen werden kann. Methode
@deprecated description Beschreibt eine veraltete Methode, die nicht mehr verwendet werden sollte. Sollte ab Java 5.0 immer mit der @Deprecated-Annotation verwendet werden. Methode
{@inheritDoc} Kopiert die Beschreibung aus der überschriebenen Methode. Überschreibende Methode 1.4.0
{@link reference} Link zu einem anderen Symbol. Klasse, Interface, Instanzvariable, Methode
{@linkPlain reference} Der Link wird in Standardtext statt in Quelltextzeichensatz angezeigt. Klasse, Interface, Instanzvariable, Methode 1.4.0
{@value} Gibt den Wert eines konstanten Feldes zurück. Statisches Feld 1.4.0
{@docRoot} Gibt den absoluten Pfad zum Hauptverzeichnis wieder. Package, Klassen, Felder, Methoden
{@code} Formatiert Text buchstabengetreu mit dem Quelltextzeichensatz (entsprechend <code>) und unterdrückt die Interpretierung von beinhalteten HTML oder Javadoc-Tags. Klasse, Interface, Instanzvariable, Methode 5.0
{@literal} Kennzeichnet buchstabengetreuen Text und unterdrückt die Interpretierung von beinhalteten HTML oder Javadoc-Tags. Klasse, Interface, Instanzvariable, Methode 5.0

Um das Symbol „@“ zu verwenden, ohne ein Javadoc-Tag zu beginnen, kann der HTML-Zeichen-Code „&#064;“ verwendet werden. Dies ist beispielsweise nützlich, um in einem Code-Beispiel innerhalb eines Javadoc-Kommentars Annotationen zu verwenden, die wie ein Javadoc-Tag mit einem „@“ beginnen.

Ähnliche Werkzeuge