Dois-je utiliser l’abandon de JavaDoc ou l’annotation en Java?

Il existe actuellement deux manières de marquer le code comme étant déprécié en Java.

Via JavaDoc

/** * @deprecated */ 

Ou comme une annotation:

 @Deprecated 

C’est mon problème – je trouve un peu trop difficile de déclarer les deux, lorsque vous marquez une méthode comme obsolète lorsque vous utilisez Eclipse. Je veux juste en utiliser un.

Cependant, l’utilisation de l’annotation donne-t-elle des informations supplémentaires utiles au compilateur?

Mais en utilisant uniquement l’annotation, je ne peux pas dire pourquoi la méthode est obsolète – je ne peux le faire qu’avec JavaDoc, et déprécier une méthode sans spécifier pourquoi est mauvais.

Alors, est-ce que je peux en utiliser un seul? Ou devrais-je vraiment juste apprendre à spécifier les deux?

Vous devriez utiliser les deux. L’annotation permet au compilateur d’afficher un avertissement chaque fois qu’une méthode obsolète est utilisée, et le javadoc explique pourquoi. Les deux sont importants.

Selon le tutoriel Java sur les annotations Oracle:

Lorsqu’un élément est obsolète, il devrait également être documenté à l’aide de la balise Javadoc @deprecated …

De la gueule du cheval :

REMARQUE: La spécification de langage Java requirejs que les compilateurs émettent des avertissements lorsque des classes, des méthodes ou des champs marqués avec l’annotation @Deprecated sont utilisés. La spécification de langage Java n’a pas besoin de compilateurs pour émettre des avertissements lorsque des classes, des méthodes ou des champs marqués avec la balise Javadoc @deprecated sont utilisés, bien que les compilateurs Sun le fassent actuellement.

Donc, fondamentalement, si vous voulez une garantie qu’il y aura des avertissements du compilateur, vous devez utiliser l’annotation. Et à cause de l’incompétence à couper le souffle de certains concepteurs d’API, vous devez également spécifier le tag javadoc pour donner une explication.

Personnellement, je dirais que l’annotation est inutile et devrait être omise jusqu’à ce qu’elle soit corrigée, car tout bon compilateur ou IDE affichera également des avertissements avec la balise javadoc.

Vous devez spécifier les deux.

L’annotation permet au compilateur de le savoir et de déclencher des avertissements lorsque la méthode est utilisée. L’atsortingbut JavaDoc permet aux développeurs de savoir avant de commencer à l’utiliser.

Ce sont deux choses très différentes!

Vous devriez écrire les deux. Le @Deprecated Anotation est pour le compilateur et la balise @deprecated JavaDoc est pour la personne qui veut maintenant pourquoi elle est obsolète.

Un exemple peut ressembler à ceci:

 /** * @deprecated We dont need this Method because ... */ @Deprecated public void doStuff(){..} 

Cela peut être facilement traité avec un bon IDE.

Eclipse Neon, par exemple. ajoute automatiquement l’annotation @Deprecated, lorsque je crée un javadoc @deprecated sur une méthode ou un champ.

Donc, j’écris simplement le javadoc avec l’explication appropriée et laisse l’IDE prendre soin d’append l’ajout @Deprecated, à la minute où je sauvegarde le fichier.