Как комментировать аннуляцию класса в Java?

Я собираюсь осудить класс в Java.

@Deprecated
class deprecatedClass

и у меня есть список этого устаревшего класса,

List<deprecatedClass> listOfDeperecatedClass

Так нужно ли мне добавлять тег @Deprecated для этого списка?


Изменение: @Deprecated должен иметь заглавную букву "D".
Видеть: http://docs.oracle.com/javase/7/docs/api/java/lang/Deprecated.html

Ответ 1

Нет, тебе не нужно. Добавление аннотации @Deprecated к DeprecatedClass будет генерировать предупреждение при каждом его использовании.


Однако вы должны пометить методы в других классах, которые принимают ваш устаревший класс в качестве аргумента или возвращают его как устаревший. Это касается любого доступа, который другой код может иметь к экземплярам вашего устаревшего класса &— публичные поля, константы и тд. Они, конечно, не могут быть использованы без экземпляра вашего устаревшего класса, поэтому предупреждение все равно выдается, но в правильной аннотации и комментарии об устаревании вы должны предоставить объяснение и указать альтернативу, которая является ценной информацией, которая вам необходима. дают.

Подпись метода похожа на контракт, как и подпись класса. Вы говорите другим программистам, какие методы они могут вызывать и как они могут их вызывать. Вы говорите им, какие поля доступны. Другие программисты основывают свой код на этом. Если вам действительно нужно разорвать этот контракт, вам сначала нужно предоставить замену этому контракту (новый метод с той же функциональностью), сообщить им и дать им время переключиться на этот новый контракт (не используйте старые методы и классы)..

Конечно, вышеизложенное предполагает, что вы кодируете аудиторию. Если вы единственный, кто использует ваш код, и вы просто хотите отказаться от очистки кода, не нарушая сборки, просто осуждайте класс, исправьте предупреждения и удалите его.

Ответ 2

У вас есть операции с List как часть вашего открытого интерфейса? В этом случае отметьте все эти методы как deprecated. В противном случае вы должны быть в порядке.

Ответ 3

Вам нужно только добавить сообщение об отказе в объявление того, что вы устарели. Он служит предупреждением о том, что люди должны избегать реализации, которая использует устаревший класс, например, в List<DeprecatedClass>.

Ответ 4

Простое обозначение:

@Deprecated
List<deprecatedClass> listOfDeperecatedClass

Должно быть хорошо.