6 ответов:
использовать
@Deprecatedна способ. Не забудьте уточнить поле javadoc:/** * Does some thing in old style. * * @deprecated use {@link #new()} instead. */ @Deprecated public void old() { // ... }
как использовать
@Deprecatedаннотации и@deprecatedтег JavaDoc.The
@deprecatedтег JavaDoc используется для целей документации.The
@Deprecatedаннотация указывает компилятору, что метод устарел. Вот что говорится в документе Sun/Oracles по этому вопросу:С помощью
@Deprecatedаннотация для устаревания класса, метода или поля гарантирует, что все компиляторы будут выдавать предупреждения, когда код использует эту программу элемент. Напротив, нет никакой гарантии, что все компиляторы всегда будут выдавать предупреждения на основе@deprecatedтег Javadoc, хотя компиляторы Sun в настоящее время делают это. Другие компиляторы не могут выдавать такие предупреждения. Таким образом, используя@Deprecatedаннотация для генерации предупреждений является более портативным, что опираясь на@deprecatedJavadoc тег.вы можете найти полный документ в как и когда осуждать APIs
есть две вещи, которые вы можете сделать:
- добавить
@Deprecatedаннотация к методу, и- добавить
@deprecatedтег к javadoc методавы должны а как!
со ссылкой на документация java на эту тему:
начиная с J2SE 5.0, вы устарели класс, метод или поле, используя аннотацию @Deprecated. Кроме того, вы можете использовать тег @deprecated Javadoc, чтобы сообщить разработчикам, что использовать вместо этого.
использование аннотации заставляет компилятор Java генерировать предупреждения, когда используется устаревший класс, метод или поле. Компилятор подавляет предупреждения об устаревании, если устаревший модуль компиляции использует устаревший класс, метод или поле. Это позволяет создавать устаревшие API без создания предупреждений.
настоятельно рекомендуется использовать Javadoc @deprecated тег с соответствующими комментариями, объясняющими, как использовать новый API. Это гарантирует, что разработчики будут иметь работоспособный путь миграции из старого API в новый API
так как некоторые незначительные объяснения отсутствовали
использовать
@Deprecatedаннотация на методе, как это/** * @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) { }Не забудьте объяснить:
- почему этот метод больше не рекомендуется, помните, чтобы отделить строку для удобочитаемости
</br>- когда он будет удален (пусть ваши пользователи знают, насколько они все еще могут полагаться на этот метод, если они решили придерживаться старого путь)
- обеспечить решение или ссылка на метод, который вы рекомендуете
{@link #setPurchasePrice()}
использовать аннотации
@Deprecatedдля вашего метода, и вы также должны упомянуть об этом в своих javadocs.
Comments