Рустем Каймолла
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. Часто замечаю на ряду с плохим грейдингом в компаниях в Казахстане, имеется большая проблема с версиированием продуктов.
Alisher Satybayev
Ведущий менеджер по проектам
Ruslan Kashayev
Frontend Разработчик
Юрий Хомич
Директор по персоналу
Binura Askarkyzy
QA Engineer
Куляш Ибраева
Медсестра
Аклия Эльмира
Управляющий директор, Директор департамента
Гульнара Ашимжан
Главный менеджер, эксперт, руководитель
Дастан Өзгелді
Frontend разработчик