Skip to content

Deprecation ru RU

ArchiBot edited this page Nov 23, 2023 · 23 revisions

Устаревание

We're doing our best to follow consistent deprecation policy in order to make both development as well as usage far more consistent.


Что такое устаревание?

Deprecation is the process of smaller or bigger breaking changes that render previously used options, arguments, functionalities or usage cases obsolete. Устаревание обычно означает что какая-то вещь была переписана в другую (похожую) форму, и вам следует как можно раньше убедиться что вы используете её правильно. В этом случае это просто перемещение какой-то функциональности в более подходящее место.

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


Стадии устаревания

ASF использует 2 стадии устаревания, делая переход более лёгким и менее трудозатратным.

Стадия 1

Стадия 1 начинается когда данная функция становится устаревшей, и одновременно становится доступным другое решение (или нет, если мы не планируем вводить замену).

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

Стадия 2

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


Резюме

У вас есть около полного месяца, иногда чуть больше или чуть меньше, чтобы сделать соответствующие изменения, этого должно быть более чем достаточно если вы обычный пользователь ASF. После этого периода, ASF более не гарантирует что старые настройки будут иметь хоть какой-то эффект (стадия 2), в результате данный функционал просто перестанет работать, незаметно для вас. Если вы запускаете ASF после более месяца простоя, рекомендуется начинать с чистого листа, или прочесть все списки изменений, которые вы пропустили, и в ручную внести изменения для использования текущей версии.

В большинстве случаев, игнорирование уведомления об устаревании не сделает ASF полностью неработоспособным, а скорее вернёт поведение к настройкам по умолчанию (которые могут совпадать или не совпадать с вашими индивидуальными предпочтениями).


Пример

Мы перенесли доступный в версиях до V3.1.2.2 > аргумент командной строки --server в параметр глобальной конфигурации IPC.

Стадия 1

Стадия 1 начинается в версии V3.1.2.2, где мы добавляем соответствущее предупреждение при использовании аргумента --server. Устаревший с этого момента аргумент --server автоматически сопоставляется параметру глобальной конфигурации IPC: true, что в результате работает так, как до этого работал старый аргумент --server. Это позволяет всем внести необходимые изменения в конфиграцию до того, как ASF перестанет воспринимать старый аргумент.

Стадия 2

Стадия 2 начинается с версии V3.1.3.0, сразу после стабильной V3.1.2.9 c описанной выше стадией 1. На стадии 2 ASF полностью перестаёт обрабатывать аргумент --server, воспринимая его так же как и любой другой неправильный аргумент, что в результате не имеет никакого эффекта на работу программы. У людей, которые до этого времени не заменили аргумент --server на параметр глобальной конфигурации IPC: true это приводит к тому, что IPC полностью перестаёт работать, поскольку в ASF больше не сопоставляет этот аргумент ни с чем.

Clone this wiki locally