Heute gab es einige Wirrungen mit javadoc, und ich möchte meine Fragen und Antworten hier gern festhalten. Ich weià sicherlich nicht alles über javadoc, aber ich versuche es in allen Quelltexten einzusetzen. Ich kenne auch Doxygen und weiÃ, dass man damit auch gute Dinge machen kann – und dass es eine grafische Oberfläche zur Konfiguration hat. Aber dafür gibt es Eclipse und so muss ich mir auch mit javadoc nicht die Mühe machen, auf der Kommandozeile zu hantieren.
Jetzt aber direkt zum ersten Punkt:
Kann javadoc rekursiv für alle Verzeichnisse Javadocs erstellen?
Meine Antwort: Nein. javadoc ist dafür anscheinend zu doof. Es gibt zwar eine Option -subpackages, doch die befreit mich nicht davon, alle – und ich meine wirklich alle – Packages aufzulisten, die in den erzeugten Javadocs enthalten sein sollen. Wieso gibt es nicht das sonst übliche -r, dass alle Klassen, Packages und sonstigen Dinge im src-Verzeichnis erfasst? Oder habe ich es nur übersehen…?
Kommt man in die Verlegenheit, die Javadocs doch mit der Hand erzeugen zu müssen, endet man also schnell in einer Batch-Datei, die einen Aufruf wie diesen enthält:
%JAVA_HOME%/bin/javadoc -subpackages pack.data,pack.chart,pack.foo,pack.bar -classpath dir/dir1/dir2:dir/dir3/dir4 -public -d doc -sourcepath src pack.model.argh pack.data.validation pack.gui.properties pack.gui.nochvielmehr
Gut, aber damit kann man auch noch leben, wenn man es erst raus hat.
Dann gibt es da noch die Sache mit den Beschreibungen der Packages. Wie soll man Packages beschreiben, wenn man doch keine einzelne Datei dafür hat, in die man die javadocs eintragen kann? Nun, man hat so eine einzelne Datei und zwar in jedem Verzeichnis eines jeden Packages.
Die Datei muss package.html heiÃen und enthält neben der textuellen Beschreibung auch javadoc-Tags, z.B. @author oder @since. javadoc folgt wieder der Konvention, den ersten Satz bis zum ersten ‘.’ als Kurzbeschreibung auf die Ãbersichtsseite zu übernehmen.
Es gibt auch noch ein paar Tipps zur Kommentierung:
- Verwende 3. Person
- Beginne Methodenbeschreibungen mit einem Verb
- Verkürze Sätze, wenn möglich
- Benutze <code> für Keywords und Namen
So, das war’s erstmal. Vielleicht finde ich ja noch etwas mehr heraus. Falls ihr Korrekturen habt oder andere Dinge bemerkt, schreibt einfach einen Kommentar.