Вам бонус- начислено 1 монета за дневную активность. Сейчас у вас 1 монета

Депрекация в программировании кратко

Лекция



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

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

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

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

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

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

Примеры

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

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

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

  • @deprecated
  • @deprec

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

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

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

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

  • Эта функция была заменена более мощной альтернативной функцией. Например, ядро Linux содержит два модуля для связи с сетями Windows : smbfsи cifs. Последний обеспечивает лучшую безопасность, поддерживает больше функций протокола и лучше интегрируется с остальной частью ядра. Так как включение cifs, smbfsявляется устаревшим.
  • Эта функция содержит недостаток дизайна, часто недостаток безопасности, и поэтому его следует избегать, но существующий код зависит от этого. Простая стандартная функция Cgets() является примером, потому что использование этой функции может вызвать переполнение буфера в программе, которая ее использует. API Java методы Thread.stop, .suspendи .resumeявляются дополнительными примерами.
  • Эта функция считается посторонней и будет удалена в будущем, чтобы упростить систему в целом. Ранние версии языка веб- разметки HTML включали FONTэлемент, позволяющий дизайнерам страниц указывать шрифт, которым должен отображаться текст. С выпуском каскадных таблиц стилей и HTML 4.0 этот FONTэлемент стал лишним и лишился преимуществ, связанных со структурной разметкой в ​​HTML и графическим форматированием в CSS. Таким образом, этот FONTэлемент устарел в стандарте Transitional HTML 4.0 и исключен в варианте Strict .
  • В будущей версии программного обеспечения будут внесены серьезные структурные изменения, которые сделают невозможным (или непрактичным) поддержку старых функций. Например, когда Apple Inc. планировала переход с Mac OS 9 на Mac OS X , она создала подмножество API старой системы, которое поддерживало бы большинство программ с небольшими изменениями: библиотека Carbon (которая с тех пор устарела), доступная в как 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.

Термин устаревший может также использоваться, когда технический термин устаревает в результате изменения или замены. Примером из палеонтологии является ранее устаревший термин « бронтозавр» ; до того, как его повторно признали уникальным родом , он считался популярным, но устаревшим названием для рода Apatosaurus . Некоторые примеры устаревших терминов из медицины включают потребление ( туберкулез ), грипп ( грипп ) и апоплексию ( инсульт ). В области химии международная организация по стандартизацииIUPAC (Международный союз чистой и прикладной химии) отказался от термина «метилэтилкетон» и теперь рекомендует использовать вместо него термин « этилметилкетон ».

Вау!! 😲 Ты еще не читал? Это зря!

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

Из статьи мы узнали кратко, но содержательно про депрекация
создано: 2021-06-15
обновлено: 2021-06-15
1



Рейтиг 9 of 10. count vote: 2
Вы довольны ?:


Поделиться:

Найди готовое или заработай

С нашими удобными сервисами без комиссии*

Как это работает? | Узнать цену?

Найти исполнителя
$0 / весь год.
  • У вас есть задание, но нет времени его делать
  • Вы хотите найти профессионала для выплнения задания
  • Возможно примерение функции гаранта на сделку
  • Приорететная поддержка
  • идеально подходит для студентов, у которых нет времени для решения заданий
Готовое решение
$0 / весь год.
  • Вы можите продать(исполнителем) или купить(заказчиком) готовое решение
  • Вам предоставят готовое решение
  • Будет предоставлено в минимальные сроки т.к. задание уже готовое
  • Вы получите базовую гарантию 8 дней
  • Вы можете заработать на материалах
  • подходит как для студентов так и для преподавателей
Я исполнитель
$0 / весь год.
  • Вы профессионал своего дела
  • У вас есть опыт и желание зарабатывать
  • Вы хотите помочь в решении задач или написании работ
  • Возможно примерение функции гаранта на сделку
  • подходит для опытных студентов так и для преподавателей

Комментарии


Оставить комментарий
Если у вас есть какое-либо предложение, идея, благодарность или комментарий, не стесняйтесь писать. Мы очень ценим отзывы и рады услышать ваше мнение.
To reply

Разработка программного обеспечения и информационных систем

Термины: Разработка программного обеспечения и информационных систем