Wie sehen gute JavaDoc-Kommentare aus?

Status
Nicht offen für weitere Antworten.

bröggle

Bekanntes Mitglied
Ich würde evtl eine Klasse veröffentlichen und will dazu einen Java-Doc generieren.


Auf welche Dinge muss man dabei achten?
Was muss es beinhalten?
Deutsch oder Englisch?
Hat jemand ein gutes Beispiel?


^-^
 
R

Roar

Gast
du kannst dir ja mal due sourcecodes von der J2SE angucken. aber:
Josh Bloch hat gesagt.:
Der Doc-Kommentar für eine Methode sollte kurz den Vertrag zwischen der Methode und ihrem Client beschreiben.

de facto solltest du da rein schreiben was die methode genau macht, was passieren kann, welche exceptions aus welchen gründen geworfen werden, welche parameter übergeben werden sollen etc.

wie gesagt: http://javaresearch.gro.clinux.org/jdk140/java/lang/String.java.html
ist bestimmt n guter anhaltspunkt.
 
B

Beni

Gast
Da ich zu denen gehöre, die auch mal 50% der Zeilen mit Kommentar füllen, erlaube ich mir, zu antworten :wink:

Auf welche Dinge muss man dabei achten?
Was muss es beinhalten?
- Ganz wichtig: der spätere User weiss nicht, wie das alles intern funktioniert, und er muss es auch nicht wissen. Also beschreibe wirklich jede Methode, und jede Variable, für was sie gut ist. Lieber einmal zu viel, als einmal zu wenig Text.
- Ein oder zwei kleine Beispiele sind einen nette Hilfe, besonders wenn die Verwendung der Klasse "schwierig" ist.
- Der erste Satz (alles vor dem ersten . ) bei einer Methoden-Beschreibung wird in die Übersicht gesetzt. Also sollte der erste Satz sehr viel über die Methode aussagen.
- Es lohnt sich auch die Java-Doc-Tags wie
, <code>, @link, @see etc. zu benutzen. Das macht die Hilfe interaktiver.
- Rechtschreibfehler sind ärgerlich...
- Und dummer Blabla wie, "Diese Klasse schrieb ich um 9:00 Uhr morgens" haben nichts in einer Doku verloren.

Deutsch oder Englisch?
Was ist dein Zielpublikum?

Hat jemand ein gutes Beispiel?
klar, hier :wink:

mfg Beni
 
R

Roar

Gast
Beni hat gesagt.:
Da ich zu denen gehöre, die auch mal 50% der Zeilen mit Kommentar füllen, erlaube ich mir, zu antworten :wink:

oh ja :-/

Beni hat gesagt.:
- Und dummer Blabla wie, "Diese Klasse schrieb ich um 9:00 Uhr morgens" haben nichts in einer Doku verloren.

:( mist jetzt muss ich wieder alles ändern :lol:

achja: hier steht auch noch was: http://java.sun.com/j2se/javadoc/
http://java.sun.com/j2se/javadoc/writingdoccomments/index.html
 
B

bygones

Gast
auch auf unsinnige Kommentare verzichten....
Code:
/**
  * Returns the number of Results
  */
public int getNumberOfResults() {
....
}
Das bringt nichts - eher erklären was für results, warum und wie....
oder in einer Methode
Code:
// i wird um eins erhöht
i++;
 
G

Guest

Gast
Code:
/** 
  * Returns the number of Results ...weiter was die methode genau macht
  *
  * @return int Wert der die Anzahl der Ergebnisse darstellt
  */ 
public int getNumberOfResults() { 
.... 
}

sollte mann noch einen übergabe parameter haben sollte @param net vergessen werden ebenso wenn nötig
@throws
 

thE_29

Top Contributor
der JBuilder macht dir wenn du über einen Funktionskopf

/** und dann Enter drückst das halt automatisch mit @param @return

musst nur noch hinschreiben was und wie ;)

Wichtige als Kommentare ist aber auch ein schön strutkturierte Code, gibt es anweisungsteile die zwischen 2-3mal oder höher vorkommen, solltest du dir schon eine eigene Funktion schreiben!

Desweiteren sind auch Einrückungen wichtig und benenn die Variablen so wie der Typ

Bsp.: int iCounter; long lValue; String strName; boolean bErg; double dWert; usw

so weißt du wenn du nachher eine Variable ansiehst, gleich den Datentyp

und verwende ja nie (gibts das in java überhaupt) gotos :lol:
 
B

Beni

Gast
Bsp.: int iCounter; long lValue; String strName; boolean bErg; double dWert
Wähle gleich die Namen so geschickt, dass du nicht mal mehr den Typ angeben musst! Wenn Du in einer Klasse den Überblick über die Variablen verlierst, kannst du sowieso gleich von vorne beginnen. :wink:

P.S. es gibt das Schlüsselwort goto, aber es kann nicht verwendet werden.
 

thE_29

Top Contributor
naja, ich red net von so kleinen Programmen wo die vielleicht 10 Variablen hast ;)

aber wenn du in dem Programm in Zeile 3000 aufeinmal eine Variable siehst die nur help heißt, wäre es halt super das du gleich beim Hinsehen erkennen kannst, welche Variable das ist!

Außerdem kannst da so schnell keine Verwechslung haben ;)
 

AlArenal

Top Contributor
thE hat gesagt.:
naja, ich red net von so kleinen Programmen wo die vielleicht 10 Variablen hast ;)

aber wenn du in dem Programm in Zeile 3000 aufeinmal eine Variable siehst die nur help heißt, wäre es halt super das du gleich beim Hinsehen erkennen kannst, welche Variable das ist!

Außerdem kannst da so schnell keine Verwechslung haben ;)

Das funktioniert m.E. so nicht. Neben elementaren Datentypen gibts im Paket java.util noch Hashtables, Hashmaps, Stacks, Vectoren, ... Dann gibts natürlich noch reichlich Instanzen eigener und importierter Klassen, da wirst du mit solch einem Namensschema nicht weit kommen.

Wenn ich eine Variable "help" habe und nicht weiß wozu sie gut ist, habe ich grundsätzlich ein Problem, ob an Zeile 30 oder 3000. Meine Variablennamen beinhalten keinen Hinweis auf den Datentyp, es sei denn ich muss aus irgendwelchen Gründen mal lokale Variablen gleich benennen, weil ich vielleicht gerade Daten in einen anderen Typen überführen und beide parallel benutzen muss. Zur Not drücke ich in meinem JBuilder hinter der Variable auf "." und bekome ein Popup das mit dem Typ der variable (z.B. java.lang.String) überschrieben ist.

Irgendwas haben sich schlaue Leute, die den Kram selbst benutzen, dabei gedacht, als sie die IDEs entwickelten.

Und wenn ich mal auf was stoße, was ich nicht gleich kapiere, sollte ich statt über ein Namensgebungsschema mal besser über einen Kommentar nachdenken. Der sagt nämlich mal mehr aus aus ein paar vorangestellte Buchstaben.
 

thE_29

Top Contributor
ich red ja auch net von Programmiersprachenabhängige Datentypen (wie Hashmaps, usw)

Hab die Standardtype gemeint, wie int, float, double!

Außerdem zwing ich dich ja net das du es so benennst, aber du kannst sicherlich net sagen, wenn du im Programm aufeinmal einen Variable siehst die iWert heißt und du sofort weißt, aha, das ist int, dass das Schlecht ist!

Und deswegen bringen sinnvolle Namen immer was, so würd ich die Variable auch immer so benennen was sie halt machen und nicht String franz; oder int b;

außer in Schleifen ;)

Variablen sollten wenn du nicht zu faul bist sie so zu benennen, etwas über den Datentyp und die Funktionalität aussagen und wenn du sagst das sei Blödsinn, dann bin ich anderer Meinung als du ;)



PS.: Ich bin Softwareentwickler und ich bin froh wenn ich in Codes die nicht von mir sind, ich beim Namen von einer Variable sehen kann, was das für ein Datentyp oder zumindest sehen kann wozu der gut ist!

Es schaut kein Schwanz auf die kommentare, glaub mir, ich seh jeden Tag ca. 2000 neue Sourcezeilen die nicht von mir sind und ich muss mich auch schnell auskennen ;)
Da les ich nicht ein halbes Jahr Kommentare durch (wenn sie überhaupt existieren!)
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
G Wie kann man sehen, welche Applikationen mit java arbeiten? Allgemeine Java-Themen 17
M Exception ganz sehen Allgemeine Java-Themen 2
I Java: public final Werte: Gute oder schlechte Praxis? Allgemeine Java-Themen 6
E Methoden Hat jemand eine gute Lösung? Allgemeine Java-Themen 5
E Wer kennte gute Verkäufer von Certificaten? Allgemeine Java-Themen 4
S "Katalog"-Anwendung in Java eine gute Idee? Allgemeine Java-Themen 12
T Ich brauche gute Quellen Allgemeine Java-Themen 13
Semox "Gute" Rückgaben von bash Shell ausgeben Allgemeine Java-Themen 4
U Sichtbarkeit von Klassen und gute Architektur Allgemeine Java-Themen 5
H Framework empfehlung / gute Anfängerbeispiele gesucht Allgemeine Java-Themen 12
P SUCHE: gute Geo Library (freeware) Allgemeine Java-Themen 2
G Kennt jemand gute Produkte zum Lizensieren der eigenen Apps? Allgemeine Java-Themen 6
-horn- Kürzester Pfad: Code so eine gute Idee? Allgemeine Java-Themen 7
M Java lernen, ist das eine gute Möglichkeit? Allgemeine Java-Themen 5
T Suche gute JAVA Steuerelemente Allgemeine Java-Themen 2
T Gute Einführung in die Scripting API von Java 6 Allgemeine Java-Themen 6
M kennt jemand nen gute email client in java mit imap? Allgemeine Java-Themen 3
TheJavaKid gute erklärung Allgemeine Java-Themen 2
U gute Websprache Allgemeine Java-Themen 3
J Anfängerliste für gute Performance? Allgemeine Java-Themen 3
I JavaDoc SEO-freundlich gestalten Allgemeine Java-Themen 14
MiMa Was sollte man ins JavaDoc implementieren?? Allgemeine Java-Themen 17
K JDK installieren JavaDoc hinzufügen Allgemeine Java-Themen 10
R Probleme mit Javadoc Allgemeine Java-Themen 2
V Javadoc-Tags Allgemeine Java-Themen 2
S Javadoc hört einfach auf Allgemeine Java-Themen 4
W JavaDoc Runtime-Exceptions: Wie sinnvoll anzeigen? Allgemeine Java-Themen 14
S javadoc java.lang.NullPointerException Allgemeine Java-Themen 2
D Javadoc - API-Dokumentation Allgemeine Java-Themen 2
J Eclipse Javadoc mit Eclipse erstellen Allgemeine Java-Themen 10
P javadoc als pdf Allgemeine Java-Themen 3
B javadoc, 2 sprachig Allgemeine Java-Themen 3
S Javadoc 3d einbinden macht probleme Allgemeine Java-Themen 10
DEvent Wieso ist Javadoc mit Html Tags? Allgemeine Java-Themen 47
X Javadoc Allgemeine Java-Themen 10
hdi Javadoc Comments: IllegalArgumentException deklarieren? Allgemeine Java-Themen 3
J Eclipse JavaDoc Template Allgemeine Java-Themen 16
P JavaDoc und Backslashes: "Invalid unicode" Allgemeine Java-Themen 3
C eine eigene Javadoc erstelen Allgemeine Java-Themen 3
S JavaDoc aus .class Datei extrahieren Allgemeine Java-Themen 5
M Javadoc | Javadoc Eintrag des verlinkten Element einbetten? Allgemeine Java-Themen 4
M Ant & javadoc-Task Allgemeine Java-Themen 1
G JavaDoc: Spezielle Beschreibung nur in Method Detail Allgemeine Java-Themen 5
Schandro Annotation vs Javadoc bei Konstanten Allgemeine Java-Themen 2
G Javadoc Sichtbarkeiten Allgemeine Java-Themen 3
B JavaDoc auf deutsch? Allgemeine Java-Themen 8
G javadoc fehler bei rawtypes Allgemeine Java-Themen 3
S javadoc inheritDoc funktioniert nicht Allgemeine Java-Themen 6
D javadoc interface + implementation + @overrides Allgemeine Java-Themen 16
S Javadoc einbinden Allgemeine Java-Themen 8
T JAR mit embedded Source/JavaDoc? Allgemeine Java-Themen 8
H Frage zu JavaDoc Allgemeine Java-Themen 5
V javadoc mergen / aus mehreren eclipse plugins ein javadoc Allgemeine Java-Themen 3
T JavaDoc Allgemeine Java-Themen 2
G Javadoc generiert keine Links zu java.lang Klassen? Allgemeine Java-Themen 4
G Bilder in javadoc einbinden Allgemeine Java-Themen 5
Y Javadoc - Wie Parameter ansprechen bei Methodenkommentar Allgemeine Java-Themen 2
F Javadoc: @value tag nicht für private fields? Allgemeine Java-Themen 11
G Javadoc Zeilenumbruch Allgemeine Java-Themen 2
N Javadoc in Deutsch? Allgemeine Java-Themen 9
@ Javadoc: Kurzbeschreibung Packages Allgemeine Java-Themen 10
F Linguistische Fragen zu Javadoc bzw. Englisch Allgemeine Java-Themen 4
padde479 javadoc.exe Eclipse Allgemeine Java-Themen 3
G javadoc macht probleme Allgemeine Java-Themen 2
T Konstruktoren werden nicht in Javadoc angezeigt Allgemeine Java-Themen 2
T Über Javadoc hinausgehende Doku? Allgemeine Java-Themen 4
M Wie lädt Eclipse die Javadoc Allgemeine Java-Themen 14
K Javadoc, was gehört rein? Allgemeine Java-Themen 10
Redfrettchen Javadoc unter Eclipse Allgemeine Java-Themen 2
T Javadoc deutsch? Allgemeine Java-Themen 5
G CSS für Javadoc Allgemeine Java-Themen 2
C javadoc Allgemeine Java-Themen 4
P Javadoc -> Autmatisiertes @version Tag Allgemeine Java-Themen 6
S javadoc: package problem Allgemeine Java-Themen 3
A Javadoc erzeugen Allgemeine Java-Themen 4
G javadoc, pakete Allgemeine Java-Themen 3
M JavaDoc per Batch? Allgemeine Java-Themen 7
I Probleme mit Javadoc (5.0 RC) Allgemeine Java-Themen 6
V Javadoc ertellt keine korrekten links Allgemeine Java-Themen 3
chik JavaDoc als PDF oder RTF Allgemeine Java-Themen 3

Ähnliche Java Themen

Neue Themen


Oben