8.582
Bearbeitungen
Jneug (Diskussion | Beiträge) |
Jneug (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
| Zeile 3: | Zeile 3: | ||
== Klassendokumentation mit Javadoc == | == 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 | 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: | die Vorgaben des Formats, ergeben sich viele Vorteile: | ||
| Zeile 12: | Zeile 12: | ||
werden kann. Prominentestes Beispiel ist [https://link.ngb.schule/java8api die offizielle Java API-Dokumentation]. | werden kann. Prominentestes Beispiel ist [https://link.ngb.schule/java8api 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 (<code>/**</code> statt <code>/*</code>). Jede Zeile des Kommentars | |||
wird zusätzlich mit einem Sternchen begonnen. Beendet wird der Kommentar mit dem normalen <code>*/</code>. | |||
Der Kommentar an sich folgt einer festen Struktur: | |||
<syntaxhighlight lang="java" line="1"> | |||
/** | |||
* Kurze Beschreibung | |||
* Lange Beschreibung auch über | |||
* mehrere Zeilen. Kann auch | |||
* <b>HTML-Elemente</b> enthalten. | |||
*/ | |||
</syntaxhighlight> | |||
Nach der ausführlichen Beschreibung der Klasse oder Methode kann eine Liste von Eigenschaften folgen, die | |||
jeweils mit einem <code>@</code>-Schlüsselwort beginnen. | |||
<syntaxhighlight lang="java" line="1"> | |||
/** | |||
* Beispiel für JavaDoc-Eigenschaften | |||
* @author Ngb | |||
* @version 1.0 | |||
* @param pMenge Methoden-Parameter, der die Menge beschreibt | |||
* @return Beschreibung des Rückgabetyps | |||
*/ | |||
</syntaxhighlight> | |||
Es gibt viele Verschiedene Eigenschaften, die zum Teil nur für Klassen oder Methoden erlaubt sind. Zum | |||
Beispiel macht es keinen Sinn, die <code>@param</code>-Eigenschaft für die Dokumentation von Klassen | |||
zu verwenden (da sie einen Parameter einer Methode beschreibt). | |||
Einige wichtige Eigenschaften sind: | |||
; <code>@author</code> | |||
: Name des oder der Autoren der Klasse. Macht i.d.R. nur Sinn bei | |||
; <code>@version</code> | |||
: | |||
; <code>@param</code> | |||
: | |||
; <code>@return</code> | |||
: | |||
; <code>@see</code> | |||
: | |||
; <code>@link</code> | |||
: | |||
{{Hint:Start}} | |||
Eigenschaften wie <code>@see</code> können auch innerhalb des Langkommentars eingefügt werden. Dann müssen sie | |||
{{Hint:End}} | |||
== Beispiel einer Klasse mit Dokumentation == | |||
<syntaxhighlight lang="java" line="1"> | <syntaxhighlight lang="java" line="1"> | ||
/** | /** | ||
| Zeile 44: | Zeile 99: | ||
* https://www.home.hs-karlsruhe.de/~pach0003/labor_informatik_1/05_Javadoc.pdf | * https://www.home.hs-karlsruhe.de/~pach0003/labor_informatik_1/05_Javadoc.pdf | ||
* http://openbook.rheinwerk-verlag.de/javainsel9/javainsel_05_014.htm#t2t31 | * http://openbook.rheinwerk-verlag.de/javainsel9/javainsel_05_014.htm#t2t31 | ||
* [[wikipedia:Javadoc]] | |||