Рустем Каймолла
4 апреля
Семантическое версионирование (Semantic Versioning) — это подход к управлению версиями ПО, который помогает избежать проблемы «ада зависимостей» и поддерживает здоровье, надежность и безопасность экосистемы. Суть его заключается в том, чтобы ясно определять изменения в коде и обозначать их версией.
Основные правила семантического версионирования следующие:
Если вы начинаете новый проект, стартуйте с версии 0.1.0 и увеличивайте минорную версию для каждого релиза до первого выпуска в продакшн.
Когда вы готовы к первому релизу в продакшн, выпускайте версию 1.0.0.
Если вы вносите несовместимые изменения в свой пакет после первого релиза, увеличивайте МАЖОРНУЮ версию. Например, 1.0.0 становится 2.0.0.
Если вы добавляете новую функциональность без нарушения совместимости существующего пакета, увеличивайте МИНОРНУЮ версию. Например, 1.0.0 становится 1.1.0.
Если вы исправляете ошибки без нарушения совместимости существующего пакета, увеличивайте ПАТЧ-версию. Например, 1.0.0 становится 1.0.1.
Если ваш пакет нестабилен, вы можете добавить метку, указывающую на то, что ваш пакет не соответствует заданным требованиям. Например, 1.0.0 становится 1.0.0-beta или 1.0..0-beta.1.
Вы также можете добавить сведения о сборке в эту версию с помощью добавления + в конце. Например, 1.0.0-beta+1122.
Почему следует использовать семантическое версионирование? Есть множество преимуществ:
Легко отслеживать изменения с помощью версий.
С номерами версий легко понять изменения с новым релизом.
Разработчики имеют возможность вернуться к более старой версии, если новая версия не работает с их кодом.
Этот подход стал стандартом в индустрии разработки программного обеспечения благодаря своей простоте, понятности и эффективности. Он помогает создавать более надежные и безопасные приложения, а также упрощает совместную работу в команде разработчиков.
Мажорная версия это когда вы сильно изменяете старый функционал. Допустим ранее входили по ЭЦП, а теперь ее убрали.
Минорная версия это когда вы расширяете действующий функционал. К примеру добавляете новые способы входа.
Патч версия это обычно фикс ошибок и не доработок уже существующего функционала.
P.S. Часто замечаю на ряду с плохим грейдингом в компаниях в Казахстане, имеется большая проблема с версиированием продуктов.
Райбек Сактаганов
Логист
Ерболат Кызылов
PHP разработчик
Жасұлан Қайыржан
Юрист
Argyn Agzamov
Директор/начальник отдела
Ернур Булегенов
FRONTEND DEVELOPER
Данияр Жангелдин
Системный администратор
Жан Болатов
Project Manager