Sobes.tech
Назад к вопросам
Senior
5

Версионирование контрактов — какие изменения требуют поднятия версии, а какие нет?

Компании, где спрашивали
Азиатско-Тихоокеанский банк

Ответ от нейросети

sobes.tech AI

Версионирование контрактов (API, интерфейсов) помогает управлять совместимостью между клиентами и сервисами. Изменения делятся на:

  • Совместимые изменения (не требуют поднятия мажорной версии):

    • Добавление новых необязательных полей
    • Добавление новых методов, которые не ломают существующий функционал
    • Улучшения, не влияющие на существующие контракты
  • Несовместимые изменения (требуют поднятия мажорной версии):

    • Удаление или переименование полей/методов
    • Изменение типа данных в контракте
    • Изменение семантики существующих методов

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