329 votes

Comment déclarer ou de marquer une méthode Java comme obsolète ?

Je tiens à faire une de mes méthodes « obsolète » ne = pas plus utilisé.

Mais encore, je voudrais avoir dans mon API. Je veux juste montrer « avertissement » à toute personne utilisant cette méthode.

Comment est-ce que je peux atteindre qui ?

647voto

Vladimir Ivanov Points 23731

Utilisation @Deprecated sur la méthode. N’oubliez pas de clarifier le champ javadoc :

95voto

ShaMan-H_Fel Points 1146

Utiliser les deux @Deprecated l'annotation et l' @deprecated balise JavaDoc.

Le @deprecated JavaDoc de balises est utilisé à des fins de documentation.

Le @Deprecated annotation indique au compilateur que la méthode est obsolète. Voici ce qu'il dit dans le Soleil/Oracles document sur le sujet:

À l'aide de l' @Deprecated annotation de déprécier une classe, une méthode ou un champ garantit que tous les compilateurs d'émettre des avertissements lorsque le code utilise que des éléments du programme. En revanche, il n'y a aucune garantie que tous les compilateurs toujours émettre des avertissements en se basant sur l' @deprecated balise Javadoc, mais le Soleil compilateurs de le faire actuellement. D'autres compilateurs ne pourra pas émettre de tels avertissements. Ainsi, en utilisant le @Deprecated annotation à générer des avertissements est plus portable que le fait de compter sur l' @deprecated balise Javadoc.

Vous trouverez l'intégralité du document à Comment et Quand Dénigrent les Api

55voto

Bludream Points 300

depuis quelques petites explications étaient manquantes

Utiliser @Deprecated annotation sur la méthode comme ceci

/**
 * @param baseprice
 * 
 * @deprecated  reason this method is deprecated </br>
 *              {will be removed in next version} </br>
 *              use {@link #setPurchasePrice()} instead like this: 
 * 
 * <blockquote>
 * <pre>
 * getProduct().setPurchasePrice(200) 
 * </pre></blockquote>
 * 
 */
@Deprecated
public void setBaseprice(int baseprice) {
}

n'oubliez pas de vous expliquer:

  • Pourquoi cette méthode n'est plus recommandé , n'oubliez pas de séparer la ligne pour des raisons de lisibilité </br>
  • Quand il sera supprimé (laissez vos utilisateurs savent comment beaucoup ils peuvent toujours compter sur cette méthode si ils ont décidé de s'en tenir à l'ancienne)
  • Fournir une solution ou un lien vers la méthode que vous recommander {@link #setPurchasePrice()}

41voto

Bohemian Points 134107

Il y a deux choses que vous pouvez faire:

  1. Ajouter l' @Deprecated d'annotation à la méthode, et
  2. Ajouter un @deprecated balise javadoc de la méthode

Vous devriez faire les deux!

Citant la documentation de java sur ce sujet:

Départ avec J2SE 5.0, vous railler une classe, une méthode ou un champ en utilisant le @Deprecated annotation. En outre, vous pouvez utiliser le @deprecated balise Javadoc dire les développeurs à utiliser à la place.

À l'aide de l'annotation provoque le compilateur Java pour générer des avertissements lorsque le obsolète classe, une méthode ou un champ est utilisé. Le compilateur supprime la dépréciation des avertissements si un obsolète unité de compilation utilise une déconseillé de classe, une méthode ou un champ. Cela vous permet de créer héritage Api sans générer des avertissements.

Il vous est fortement recommandé d'utiliser la Javadoc @deprecated tag avec les commentaires appropriés expliquant comment utiliser la nouvelle API. Cela garantit les développeurs ont une approche pratique de la migration de l'ancienne API pour la nouvelle API

9voto

amit Points 74385

Utilisez l' annotation`` pour votre méthode et vous devriez également mentionner dans votre javadocs.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X