Как часть процесса рефакторинга или просто продолжающейся разработки, конкретный метод или, может быть, целый класс может в некотором смысле устареть. Java поддерживает @Deprecated
аннотацию, чтобы указать, что, вероятно, есть лучший способ справиться с рассматриваемой функциональностью. Я полагаю, что это особенно полезно в общедоступных API, где последствия удаления частей API могут быть неизвестны. Для непубличного API и проекта, который использует системы контроля версий (таким образом, удаление может быть отменено в некотором смысле), когда целесообразно не использовать устаревший элемент (ы), а удалить?
источник
ИМХО, если вы можете гарантировать, что никто не использует его и никогда не будет, просто удалите его. (Это может быть сложно при наличии отражения или внешних компонентов, таких как макросы Velocity - современные IDE, такие как IntelliJ, могут найти ссылки, например, в JSP, но не через отражение или в Velocity.)
Если есть лучшая альтернатива, но старая все еще используется во многих местах, и в настоящее время у вас нет времени на рефакторинг всего клиентского кода, достаточно @deprecate устаревшего класса / метода (с адекватным комментарием о удачная альтернатива).
источник