Устаревание - Deprecation

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

Это также может означать, что функция, дизайн или практика будут удалены или полностью прекращены в будущем.[1]

Этимология

В общеупотребительном английском языке инфинитив "чтобы осуждать "означает" выразить неодобрение (что-то) ". Это происходит от латинский глагол отвергать, что означает "отразить (a катастрофа ) молитвой ». В современном техническом обиходе утверждение о том, что функция устарела, является просто рекомендацией против ее использования. По-прежнему возможно создать программу или продукт, не обращая внимания на устаревание.

Программного обеспечения

Хотя устаревшая функция программного обеспечения остается в программном обеспечении, ее использование может вызвать предупреждающие сообщения с рекомендациями альтернативных методов. Статус «Устаревший» также может указывать на то, что функция будет удалена в будущем. Функции не рекомендуются, а не удаляются немедленно, чтобы обеспечить обратную совместимость и дать программистам время для приведения затронутого кода в соответствие с новым стандартом.

Среди наиболее частых причин отказа от поддержки можно выделить:

  • Эта функция была заменена более мощной альтернативной функцией. Например, Ядро Linux содержит два модуля для связи с Windows сети: smbfs и cifs. Последний обеспечивает лучшую безопасность, поддерживает больше функций протокола и лучше интегрируется с остальной частью ядра. Поскольку включение cifs, smbfs устарела.
  • Эта функция содержит недостаток дизайна, часто недостаток безопасности, поэтому его следует избегать, но существующий код зависит от него. Простой C стандартная функция получает () является примером, потому что использование этой функции может ввести переполнение буфера в программу, которая его использует.[2] В Java API методы Thread.stop, .приостановить и .продолжить являются дальнейшими примерами.[3]
  • Эта функция считается посторонней и в будущем будет удалена, чтобы упростить систему в целом. Ранние версии Интернет язык разметки HTML включены ШРИФТ элемент, позволяющий дизайнерам страниц указывать шрифт в котором должен отображаться текст. С выходом Каскадные таблицы стилей и HTML 4.0, ШРИФТ Элемент стал лишним и лишился преимуществ, связанных со структурной разметкой в ​​HTML и графическим форматированием в CSS. Таким образом ШРИФТ элемент устарел в Переходный Стандарт HTML 4.0 и исключен в Строгий вариант.
  • В будущей версии программного обеспечения будут внесены серьезные структурные изменения, которые сделают невозможным (или непрактичным) поддержку старых функций. Например, когда Apple Inc. запланировал переход от Mac OS 9 к Mac OS X, он создал подмножество старой системы API который будет поддерживать большинство программ с небольшими изменениями: Углерод библиотека (которая с тех пор устарела), доступная как в Mac OS 9, так и в Mac OS X. Программисты, которые в то время в основном использовали Mac OS 9, могли гарантировать, что их программы будут запускаться изначально на Mac OS X, используя только Функции API, поддерживаемые в Carbon. Другие функции Mac OS 9 были объявлены устаревшими и никогда изначально не поддерживались в Mac OS X.
  • Стандартизация или повышенная последовательность в именовании. Проекты, которые разрабатываются в течение длительных периодов времени или разрабатываются несколькими людьми или группами, могут содержать несоответствия в именах различных элементов. Это может быть результатом отсутствия предвидения, изменений в номенклатуре с течением времени или личных, региональных или образовательных различий в терминологии. Поскольку простое переименование элемента нарушит обратную совместимость, существующее имя необходимо оставить на месте. Исходное имя, скорее всего, останется на неопределенный срок, но будет исключено, чтобы стимулировать использование нового, более последовательного соглашения об именах. Примером может быть API которые поочередно использовали написание «цвет» и «цвет». Стандартизация приведет к использованию только одного регионального написания повсюду, а все вхождения другого написания будут устаревшими.
  • Функция, которая раньше была доступна только по отдельности, теперь объединена с дополнительной функцией. Примером является VLC Media Player; VLC использовался для обозначения «VideoLan Client», и отдельный «VideoLan Server» был доступен как его сопутствующая функция. И клиент, и сервер стали доступны в одном пакете, поэтому получить один независимо друг от друга было бы непрактично.

Другое использование

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

А строительный кодекс пример - использование незаземленные ("2-контактные") электрические розетки. Со временем от этих старых устройств отказались в пользу более безопасных заземленных («трехконтактных») розеток. Более старые, незаземленные емкости все еще разрешались во многих местах "дедушка "их в существующих электрическая проводка, запрещая их для новых установок. Таким образом, хотя незаземленные розетки все еще могут быть доступны для законной покупки в месте, где они устарели, они, как правило, предназначены только для ремонта существующих старых электрических установок.

В письменной форме и редактирование, использование слова может быть не рекомендовано, поскольку оно неоднозначно, сбивает с толку или оскорбляет некоторых читателей. Например, слова санкция и легковоспламеняющийся могут быть неверно истолкованы, потому что они автоантонимический или противоречивые значения; Руководства по стилю письма часто рекомендуют заменять другие слова понятными и недвусмысленными. Некоторые употребления слов, которые со временем приобрели разные коннотации, например гей или цветной, может быть объявлено устаревшим в официальной письменной форме.

В технические стандарты, использование определенного пункта может быть не одобрено или заменено новыми положениями. Например, в Ethernet стандарт IEEE 802.3-2012, Пункт 5 (Управление уровнями) "устарел" в Разделе 30 (Управление), за исключением 5.2.4.

Период, термин устарел может также использоваться, когда технический термин становится устаревший либо через изменение, либо через замену. Пример из палеонтология это ранее устаревший термин Бронтозавр; прежде чем быть повторно признанным уникальным родом,[4] это считалось популярным, но устаревшим названием рода Апатозавр.[5] Некоторые примеры устаревших терминов из медицины включают потребление (туберкулез ), грипп (грипп ), и апоплексия (Инсульт ). В области химии международная организация по стандартизации ИЮПАК (Международный союз чистой и прикладной химии) отказался от термина «метилэтилкетон» и теперь рекомендует использовать термин «этилметилкетон "вместо этого.[6]

Смотрите также

Рекомендации

  1. ^ «JEP 277: улучшенная устаревшая версия». openjdk.java.net. Получено 9 февраля 2018.
  2. ^ GNU. «Линейный ввод». Библиотека GNU C. GNU. Получено 2 августа 2008. Устаревшая функция: char * gets (char * s). ... получает функция очень опасно потому что он не обеспечивает защиты от переполнения строки s. Библиотека GNU включает его только для совместимости. Вам следует всегда использовать fgets или Getline вместо.
  3. ^ «Упразднение примитивных потоков Java». Oracle. Получено 13 мая 2011.
  4. ^ Бронтозавр, наконец, признан отличным динозавром
  5. ^ Апчерч, Пол; Барретт, Пол М .; Додсон, Питер (2004). «Зауропода». В Weishampel, David B .; Додсон, Питер; Osmólska, Halszka (ред.). Динозаврия (2-е изд.). Беркли: Калифорнийский университет Press. стр.259 –322. ISBN  0-520-24209-2.
  6. ^ Номенклатура органической химии: Рекомендации ИЮПАК и предпочтительные названия 2013 (Синяя книга). Кембридж: Королевское химическое общество. 2014. с. 725. Дои:10.1039 / 9781849733069-FP001. ISBN  978-0-85404-182-4.

внешняя ссылка