Zavržení ( angl. deprecation , lit. - „neschválení“, prohlášení funkce za zastaralou nebo zastaralou) - v programování určitý náznak nežádoucího použití jakékoli části programu , procedury nebo programovacího jazyka . Nejčastěji se používá nějaký standard pro daný programovací jazyk nebo systém dokumentace kódu , např. service label ( tag ), speciální jazykový konstrukt apod. V prostředí vývojářů počítačových programů a dokumentace lze termínem deprecation označovat tzv. další fáze poskytování životního cyklu softwaru , výměna zastaralých dílů za nové.
Část programu nebo metody označená jako zastaralá je sporná a její další používání je neopodstatněné. Tato část funguje v aktuální verzi softwaru , ale může vygenerovat chybovou zprávu jako varování. To slouží k upozornění uživatele , že tento kus kódu může být v budoucích verzích programu odstraněn.
Hlavním důvodem zavržení části kódu ( funkcí , metod , tříd ) je snaha kód vylepšit a zároveň se časem zbavit zastaralých přístupů. Ponechání starého kódu vedle nového by vedlo k neodůvodněnému růstu softwarového produktu, což by zkomplikovalo jeho podporu, studium a používání. Zároveň je nežádoucí jednoduše odstraňovat zastaralé části kódu, protože to naruší zpětnou kompatibilitu pro uživatele tohoto softwaru.
Když je kód označen jako zastaralý , je běžné označovat doporučenou náhradu, například novou komponentu s jiným API , ale v podstatě stejnou funkčností. Někdy je však část kódu prohlášena za zastaralou bez jakékoli náhrady. To se obvykle stává, když jsou objeveny chyby , které jsou v podstatě neodstranitelné při zachování použitého přístupu.
Když části programu závisejí na části označené jako zastaralá , měl by programátor přepsat kód , aby se zbavil použití části, která má být odstraněna. Doporučuje se také přepsat kód stávajících programů, zejména pokud již závisí na verzi, ve které se funkce doporučená jako náhrada objevila.
Jazyk Java používá pro tuto značku dva zápisy:
phpDocumentor používá dva popisovače , které jsou synonymem pro [1] :
Delphi používá zastaralé klíčové slovo ;
C ++14 používá atribut [[deprecated]][2] .