Derzeit gibt es zwei Möglichkeiten, Code in Java als veraltet zu markieren.
Über JavaDoc
/**
* @deprecated
*/
Oder als Anmerkung:
@Deprecated
Dies ist mein Problem - ich finde es etwas zu viel, beides zu deklarieren, wenn eine Methode bei Verwendung von Eclipse als veraltet markiert wird. Ich möchte wirklich nur einen von ihnen verwenden.
Gibt die Verwendung der Annotation dem Compiler jedoch tatsächlich nützliche zusätzliche Informationen?
Aber nur unter Verwendung der Anmerkung kann ich nicht angeben, warum die Methode veraltet ist - ich kann dies nur mit JavaDoc tun und eine Methode verwerfen, ohne anzugeben, warum sie schlecht ist.
Kann ich nur einen davon verwenden? Oder sollte ich wirklich nur lernen, beides zu spezifizieren?
java
annotations
javadoc
deprecated
corgrath
quelle
quelle
Antworten:
Sie sollten beide verwenden. Mit der Anmerkung kann der Compiler eine Warnung anzeigen, wenn eine veraltete Methode verwendet wird, und der Javadoc erklärt, warum. Beides ist wichtig.
Gemäß dem Java Annotations- Tutorial von Oracle :
quelle
@SuppressWarnings("deprecation")
Aus dem Maul des Pferdes :
Wenn Sie also garantieren möchten, dass Compiler-Warnungen angezeigt werden, müssen Sie die Anmerkung verwenden. Und wegen der atemberaubenden Inkompetenz einiger API-Designer müssen Sie auch das Javadoc-Tag angeben, um eine Erklärung zu geben.
Persönlich würde ich sagen, dass die Annotation nutzlos ist und weggelassen werden sollte, bis sie behoben ist, da jeder gute Compiler oder jede gute IDE auch Warnungen mit dem Javadoc-Tag anzeigt.
quelle
Sie sollten beide schreiben. Die @Deprecated Anotation ist für den Compiler und das @deprecated JavaDoc-Tag ist für die Person, die jetzt wissen möchte, warum dies veraltet ist.
Ein Beispiel kann so aussehen:
/** * @deprecated We dont need this Method because ... */ @Deprecated public void doStuff(){..}
quelle
Sie sollten beide angeben.
Die Annotation informiert den Compiler darüber und löst Warnungen aus, wenn die Methode verwendet wird. Das JavaDoc-Attribut informiert Entwickler, bevor sie es verwenden.
Das sind zwei sehr unterschiedliche Dinge!
quelle
Dies kann leicht mit einer guten IDE behandelt werden.
Eclipse Neon, z. Fügt automatisch die Anmerkung @Deprecated hinzu, wenn ich ein Javadoc @deprecated für eine Methode oder ein Feld erstelle.
Also schreibe ich einfach das Javadoc mit der entsprechenden Erklärung und lasse die IDE sich darum kümmern, die Annotation @Deprecated hinzuzufügen, sobald ich die Datei speichere.
quelle