W ramach działań refaktoryzacyjnych lub po prostu ciągłego rozwoju, określona metoda lub może cała klasa może stać się w pewnym sensie przestarzała. Java obsługuje @Deprecated
adnotację wskazującą, że prawdopodobnie istnieje lepszy sposób obsługi danych funkcji. Wyobrażam sobie, że jest to szczególnie przydatne w publicznych interfejsach API, w których skutki usunięcia części interfejsu API mogą nie być znane. W przypadku niepublicznego interfejsu API i projektu korzystającego z systemów kontroli wersji (więc usunięcie może być cofnięte w pewnym sensie), kiedy należy przestać działać, zamiast usuwać przestarzałe elementy?
źródło
IMHO, jeśli możesz upewnić się, że nikt go nie używa i nigdy nie będzie, po prostu go usuń. (Może to być trudne w przypadku odbicia lub zewnętrznych komponentów, takich jak makra Velocity - nowoczesne IDE, takie jak IntelliJ, mogą znaleźć odniesienia np. W JSP, ale nie poprzez odbicie lub Velocity.)
Jeśli istnieje lepsza alternatywa, ale stara jest nadal używana w wielu miejscach, a obecnie nie masz czasu na refaktoryzację całego kodu klienta, wystarczy @deprecate przestarzałą klasę / metodę (z odpowiednim komentarzem na temat preferowana alternatywa).
źródło