2012-03-25 5 views
17

Ich habe die folgende Methode:Java - Konvention für die Verwendung von Javadoc zusammen mit einer Methode Annotation?

@Override 
    public boolean myMethod() 
    { 
     // do stuff 
    } 

Wenn ich ein javadoc für diese Methode hinzufügen mag, gibt es eine Konvention, wie dies zu tun, zusammen mit der @Override Anmerkung (oder andere Anmerkung)?

Der Grund, den ich frage, ist, weil ich gelesen habe, dass javadoc Kommentare MUSS direkt vor der Methode sein sollten (keine Zeilenumbrüche zwischen den beiden), und ich bin mir nicht sicher, ob der javadoc Kommentar direkt über der @Override Anmerkung verwirren würde Dinge auf.

Wäre dies der herkömmliche Weg, es zum Beispiel zu tun? Funktioniert das?

/** 
    * This is my method's javadoc comment. 
    */ 
    @Override 
    public boolean myMethod() 
    { 
     // do stuff 
    } 
+5

Da ist immer einer von euch. Ich wollte wissen, was die Konvention war, nicht nur, ob es geklappt hat. – Tim

Antwort

16

Ja, dieser Weg ist der richtige Weg, ich habe noch nicht anders herum gesehen. Und ja, so funktioniert es. Ich habe es nicht umgekehrt versucht.

/** 
    * This is my method's javadoc comment. 
    */ 
    @Override 
    public boolean myMethod() 
    { 
     // do stuff 
    } 

Aber grundsätzlich würde ich in der Regel nicht ein javadoc Kommentar ein Verfahren hinzufügen, die eine andere Methode überschreibt, vor allem, wenn Schnittstellen implementieren. Das Tag @inheritDoc ist hier hilfreich, um die Dokumentation ohne großen Aufwand zu verteilen. Aber das ist spezifisch für dieses Beispiel. Sie könnten auch andere Anmerkungen hinzufügen.

+0

Ich stimme nicht zu, dass überschriebene Methoden nicht dokumentiert werden sollten. Dies kann bei implementierten Schnittstellenmethoden der Fall sein, aber die Dokumentation der überschriebenen Klassenmethoden könnte angeben, was sich im Verhalten der Methode geändert hat. Natürlich kann viel Tipparbeit vermieden werden, indem man das Javadoc-Tag '@ inheritDoc' verwendet, aber die IMO-Dokumentation sollte bei überschriebenen Methoden nicht weggelassen werden. – buc

+4

Grundsätzlich stimme ich dir zu, habe meine Antwort daher ein wenig aktualisiert. Aber ich denke, Javadoc dient zur Dokumentation ** was ** eine Methode macht und nicht ** wie ** es gemacht wird. Es ist völlig in Ordnung, die Art und Weise, wie etwas getan wird, zu ändern, aber eine solche Änderung sollte nicht gegen den von der Oberklasse definierten Vertrag verstoßen, was dazu führen würde, dass das Javadoc dann geändert werden müsste. Deshalb denke ich, dass das Schreiben eines Javadoc für jede Methode nicht notwendig ist. – Markus

Verwandte Themen