Javadoc-Referenz-param aus einem anderen Verfahren
Möchte ich nicht schreiben, redundante javadoc-Kommentare. Wie Sie sehen können, @param x
ist in einer Weise redundant. Gibt es einen javadoc-markup wählen Sie einen Verweis aus @param x
in der Klasse B
zu @param x
in der Klasse A
oder darf ich die einfach weglassen?
/**
* Class A constructor
*
* @param x position on x-axis
*/
public A(final int x) {
this.x = x;
}
/**
* Class B constructor
*
* @param x position on x-axis
* @param y position on y-axis
*/
public B(final int x, final int y) {
super(x);
this.y = y
}
- Ich würde einen Schritt zurück und Fragen sich, warum Sie dokumentieren die Parameter angezeigt werden, haben eine offensichtliche Bedeutung. Wenn der code sich selbst dokumentieren auf der Grundlage der Namen, die Sie wählen, JavaDoc ist weitgehend irrelevant.
- Dies ist ein minimal-Beispiel, nur zur illustration.
- Notiz an mich: {@inheritDoc} zumindest erlaubt das kopieren von einem doc von einer überschriebenen Methode.
- Gleiche für die aktuelle Methode: stackoverflow.com/questions/1667212/...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie nicht lassen Sie es aus,
javadoc
ist nicht smart, es ist einfach analysiert die Kommentare, er kann nicht sagen, dass diex
parameter für die B-Konstruktors ist der gleiche, als der Eine Konstruktor-auch wenn Vererbung im Spiel ist.Ich glaube nicht, dass es einen Weg zu "faktorisieren" sind. Sie müssen nur zu schreiben, alle von Ihnen, sorry...
Mit Methoden, die es funktionieren sollte: wenn Sie überschreiben oder implementieren Sie eine Methode, die Parameter werden kopiert, wenn nicht vorhanden.
Konstruktoren werden nicht vererbt, und noch weniger an einen Konstruktor mit anderen Parametertypen. Javadoc hat keine Möglichkeit zu wissen, dass Sie übergeben die parameter an einen anderen Konstruktor, da es nicht zu interpretieren, die Inhalte der Methoden/Konstruktoren, nur die äußere Oberfläche.
So, ich nehme an, Sie sind aus Glück heraus, wenn Sie nicht wollen, schreiben Sie Ihre eigenen doclet oder ändern Sie die standard-doclet (und selbst dann müsste man irgendwie sagen, welcher Konstruktor Erben die params aus). (Dies wäre eine sinnvolle Ergänzung, auch für mehrere, ähnliche Methoden in der gleichen Klasse, denke ich.)
Wenn Sie das überschreiben einer übergeordneten Methode, wenn Sie nicht in der javadoc-die meisten IDEs zeigen das javadoc für die parent-Methode statt. Sonst gibt es keinen Weg, Sie zu definieren/finden Sie auf Variablen in der javadoc-syntax.