Deprecation

Депрекация (англ. deprecation, букв.

Чаще всего используется какой-либо стандартный для данного языка программирования или системы документации кода способ указания, например служебная метка (тег), специальная конструкция языка и т. п. В среде разработчиков компьютерных программ и документации термин deprecation может обозначать очередную стадию в жизненном цикле программного обеспечения, замену устаревших частей на новые.

Часть программы или метод, обозначенный как deprecated, являются сомнительными, и использование их в дальнейшем необоснованно. Эта часть работает в текущей версии ПО, однако может вызывать сообщение об ошибке в качестве предупреждения. Это служит для предупреждения пользователя о том, что данная часть кода может быть удалена в следующих релизах программы.

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

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

Когда части программы зависят от части, помеченной как deprecated, программисту следует переписать код, чтобы избавиться от использования части, планируемой к удалению. Также рекомендуется переписать код существующих программ, особенно если они и так зависят от версии, в которой появилась функциональность, рекомендуемая в качестве замены.

Примеры

В языке Java используется две нотации этого тега:

  • Аннотация @Deprecated — компилятор в обязательном порядке выдаст предупреждение об использовании нежелательного элемента.
  • Тэг Javadoc @deprecated — чтобы отметить это в документации. Компиляторы Sun также выдают предупреждение (хоть стандарт и не обязывает это делать).

В phpDocumentor используется два дескриптора, которые являются синонимами:

  • @deprecated
  • @deprec

В Delphi используется ключевое слово deprecated;

В C++14 используется атрибут [[deprecated]].

См. также

Примечания

Tags:

Английский языкГенератор документацииПодпрограммаПрограммированиеПрограммное обеспечениеРазработчикТег (метаданные)Язык программирования

🔥 Trending searches on Wiki Русский:

LinuxГарри Поттер (серия фильмов)Обсессивно-компульсивное расстройствоСписок государств и зависимых территорий по населениюЛаеннекЕкатерина IЕлизавета ПетровнаДауни, Роберт (младший)История УкраиныСпособы самоубийстваДиана, принцесса УэльскаяСуворов, Александр ВасильевичЗаворотнюк, Анастасия ЮрьевнаПётр IКостомаров, Роман СергеевичФэнтезиMinecraftSteamТеррористические акты 11 сентября 2001 годаДислексияГибралтарПетров, Александр Андреевич (актёр)Клуб 27InstagramДонецкая Народная РеспубликаЛитваМорец, Хлоя ГрейсПитт, БрэдПотери сторон в период вторжения России на УкраинуIMGSRC.RUРотшильдыБиткойн2022 годВульф, Павла ЛеонтьевнаКороль и Шут (сериал)Леон Скотт КеннедиЛатвияОрдер на арест Владимира ПутинаСписок войн и вооружённых конфликтов РоссииСикераАстанаГонконгГрузияЕлизавета IIСтаниславский, Константин СергеевичСингапурGoogle ДискOpenAIСерёгин, Владимир СергеевичВооружённые силы Российской ФедерацииСбермегамаркетDassault Mirage 2000КиргизияШейк, ИринаПрезидентские выборы в США (2024)ТулаОднопользовательская играЯпонияСталин, Иосиф ВиссарионовичКейдж, НиколасОвечкин, Александр МихайловичМногопользовательская играСписок кодов состояния HTTPХарди, ТомКруз, ТомДрама (жанр)Тарковский, Андрей АрсеньевичНеонацизмЗаглавная страницаХодячие мертвецы (телесериал)JavaScriptПольшаХоланн, ЭрлингГражданская война в РоссииКлимова, Екатерина АлександровнаКоды субъектов Российской Федерации🡆 More