Нулевая версия

Нумерация версий с нуля у меня всегда вызывала сомнения. И до сих пор меня раздражают версии вида 0.5.2 и тем более 0.1.0. Есть в них некая фатальная незавершенность и я бы даже сказал обреченность. Кто придумал такую странную нумерацию? Если нумеровать с нуля, то почему не начать с 0.0.0? Я могу предположить что кому-то показалось удобным начать всю подготовительную работу как-то нумеровать, полезность чего сама по себе не очевидна, а потом вдруг выпустить версию 1.0.0 когда все готово и хорошо.

Что делать с версией 2

Возникает логичный вопрос, а как быть тогда с версией 2.0.0? Ведь для ее подготовки мы не можем использовать версии 1.Х.Х! Логика подсказывает что в таком случае мы просто используем все четные версии как подготовительные, а не четные как рабочие. Но такая практика редка, так как путает тех, кто с ней не знаком. Когда внезапно после версии 2.7.5 внезапно появляется версия 3.0.0 которая от 2.7.5 ничем не отличается.

Почему бы не начать с единицы?

Выглядит это как тупик, но к счастью семантическое версионирование и другие схемы предлагают различные варианты как пометить предрелизные версии, например добавляя к номеру версии буквенное окончание вида 1.0.0-alpha. Это решает проблему в большинстве случаев, хотя и возникают вопросы сортировки версий, но вариант сортировки предложенный в стандарте семантического версионирования выглядит вполне рабочим.

Подводя итоги хочу сказать что я не использую нулевые версии и стараюсь держаться подальше от библиотек или программ нулевых версий. Моя рекомендация: либо вовсе отказаться от использования нуля в начале номера версии, либо, в крайнем случае, использовать его только на стадии внутренней разработки, до публикации библиотеки или программы.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *