Это может быть что-то для программистов.
Если вы создавали библиотеку, которую используют другие, новая версия не должна нарушать существующий код. Только после серьезной ревизии, скажем, с 3.8.7 до 4.0, вы можете потребовать от пользователей перекодировать код. Имейте в виду, что исправление других ошибок может привести к ответвлению, обратному переносу на новую версию 3.8.8.
Имейте в виду, что другие могут использовать еще другие библиотеки, которые также используют вашу библиотеку. Таким образом, обратная совместимость означает, что люди могут обновляться, не дожидаясь обновления библиотеки, использующей вашу библиотеку.
Для внутренней библиотеки местной компании может быть более привлекательным удалить старый API, гарантируя, что все в фирме перейдут на новый код.
Есть еще несколько вариантов использования @Deprecated
локально:
У меня когда-то был метод с параметром long
, который в новой версии будет Object
. Я сделал это в библиотеке:
/**
* Please replace the long parameter with the Object ...
*/
@Deprecated
public boolean f(long x) { ... }
public boolean f(Object x) { ... }
Здесь простое удаление старой версии было бы фатальным для всех применений библиотеки, за исключением уродливого if (x instanceof Long) { return fOld(((Long)x).longValue()); }
в новой функции.
Таким образом, устаревание может дать информацию javadoc о том, чем заменить вызов. Обычно отображается в IDE как всплывающее окно.
person
Joop Eggen
schedule
07.10.2014