Lernpfad:Würfelspiel in Java/Klassendokumentation mit Javadoc: Unterschied zwischen den Versionen

Aus Informatik-Box
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 49: Zeile 49:


; <code>@author</code>
; <code>@author</code>
: Name des oder der Autoren der Klasse. Macht i.d.R. nur Sinn bei  
: Name des oder der Autoren. Macht i.d.R. nur Sinn bei Klassen.
; <code>@version</code>
; <code>@version</code>
:
:
Zeile 62: Zeile 62:


{{Hint:Start}}
{{Hint:Start}}
Eigenschaften wie <code>@see</code> können auch innerhalb des Langkommentars eingefügt werden. Dann müssen sie  
Einige Eigenschaften wie <code>@see</code> oder <code>@link</code> können auch innerhalb des Langkommentars eingefügt werden. Dann müssen sie innerhalb von geschweiften Klammern stehen. Um zum Beispiel im Kommentar einen Link zur Klasse <code>java.lang.Math</code> einzufügen, schreibt man <code>{@link java.lang.Math}</code>.
 
{{Hint:End}}
{{Hint:End}}



Version vom 13. Mai 2018, 17:26 Uhr

Klassendokumentation mit Javadoc

JavaDoc ist ein Format, um die Dokumentation von Klassen, Attributen und Methoden direkt im Quelltext zu verfassen. Dadurch ist die Dokumentation einer Methode direkt mit ihrem Quelltext verknüpft. Hält sich ein Programmierer an die Vorgaben des Formats, ergeben sich viele Vorteile:

  • Klasse-Dateien lassen sich einfacher weitergeben und verstehen, da sie ihre eigene Dokumentation enthalten.
  • Der eigene Quelltext wird lesbarer und lässt sich auch nach längerer Zeit nachvollziehen.
  • Gängige Programmierumgebungen (wie z.B. BlueJ, Eclipse, NetBeans) erkennen die Dokumentation und zeigen sie direkt im Programm an. Zum Teil erlauben sie auch das Durchsuchen der Kommentare.
  • Aus dem Quelltext lässt sich direkt eine HTML-Version der Dokumentation erstellen, die separat vom Quelltext angezeigt

werden kann. Prominentestes Beispiel ist die offizielle Java API-Dokumentation.

Aufbau eines JavaDoc Kommentars

JavaDoc Kommentare nutzen die normale Java-Syntax für mehrzeilige Kommentare mit dem Zusatz, dass der Kommentar mit zwei Sternchen statt einem eingeleitet wird (/** statt /*). Jede Zeile des Kommentars wird zusätzlich mit einem Sternchen begonnen. Beendet wird der Kommentar mit dem normalen */.

Der Kommentar an sich folgt einer festen Struktur:

/**
 * Kurze Beschreibung
 * Lange Beschreibung auch über
 * mehrere Zeilen. Kann auch 
 * <b>HTML-Elemente</b> enthalten.
 */

Nach der ausführlichen Beschreibung der Klasse oder Methode kann eine Liste von Eigenschaften folgen, die jeweils mit einem @-Schlüsselwort beginnen.

/**
 * Beispiel für JavaDoc-Eigenschaften
 * @author Ngb
 * @version 1.0
 * @param pMenge Methoden-Parameter, der die Menge beschreibt
 * @return Beschreibung des Rückgabetyps
 */

Es gibt viele Verschiedene Eigenschaften, die zum Teil nur für Klassen oder Methoden erlaubt sind. Zum Beispiel macht es keinen Sinn, die @param-Eigenschaft für die Dokumentation von Klassen zu verwenden (da sie einen Parameter einer Methode beschreibt).

Einige wichtige Eigenschaften sind:

@author
Name des oder der Autoren. Macht i.d.R. nur Sinn bei Klassen.
@version
@param
@return
@see
@link
Icon Info.png


Einige Eigenschaften wie @see oder @link können auch innerhalb des Langkommentars eingefügt werden. Dann müssen sie innerhalb von geschweiften Klammern stehen. Um zum Beispiel im Kommentar einen Link zur Klasse java.lang.Math einzufügen, schreibt man {@link java.lang.Math}.


Beispiel einer Klasse mit Dokumentation

/**
 * Eine Klasse, die einen Motorroller repräsentiert.
 * @author J. Neugebauer
 * @version 2018-05-05
 */
public class Motorroller {
	
	private int tankfuellung = 0;

	/**
	 * Tankt den Roller auf.
	 * @param pMenge Die zu tankende Menge in Litern.
	 */
	public void tanken( int pMenge ) {
		tankfuellung = tankfuellung + pMenge;
	}

	/**
	 * Getter für den Tankinhalt.
	 * @return Der aktuelle Tankinhalt in Litern.
	 */
	public int getTankfuellung() {
		return tankfuellung;
	}
}

Weitere Informationen