Есть версия ПО 2.9.9
Нужно выпустить новую версию, при этом не хотелось бы переходить на 3.0 Так и не смог разобраться, под какой версией выпустить ПО?
2.9.10? 2.10.1? 2.9.91?
Да так, чтобы было понятно людям, что эта версия новее предыдущей.
Проблема: вы руководствуетесь принципами визуальной упорядоченности при установке версии. Версионирование не имеет никаких связей с визуальной упорядоченностью.
Конфликт: вы не можете выбрать между виузальной упорядоченностью, которая говорит вам сделать 3.0.0, и принципом мажорного релиза, который осознаете скорее всего по-своему, но понимаете, что мажорный релиз это не "когда все цифры после первой становятся девятками".
Решение: выбрать только одно из двух, потому что принцип мажорной версии запрещает вам скакать, как получится, а визуальная упорядоченность не дает вам использовать двузначное число в качестве одного из компонентов версии.
Как все-таки хоть немного программист я могу лишь призвать сделать выбор в пользу разумного назначения версии. Насколько понял, вы уже читали про семантическое версионирование, но, судя по комментарию, думаю, что попытаться адаптировать конвенцию для вас стоит.
Семантическая версия состоит из трех номеров: major, minor, patch. Они различаются следующими вещами:
Поэтому определение "какую версию мне использовать" превращается в довольно простой условный блок:
Отвечая на вопрос, который тут же появляется - "мне что, инкремнтировать major-версию каждый раз, когда я ломаю обратную совместимость?". Ответ на этот вопрос - да, major-версия должна выпускаться каждый раз, когда какие-то вещи ломаются; это не игра в поддавки и визуальную упорядоченность. Если вас заботит скорость выпуска major-версий - это значит, что вы ломаете слишком много вещей, и какие-то обновления стоит придерживать в ветке до того, как появится моральная готовность выпустить новый major-релиз; на адаптацию к этой модели уйдет некоторое время, но на деле это всего лишь цифры, между которыми нет никакой разницы, версия 2.х.х или 17.х.х - для конечного потребителя это не так важно как то, сможет ли он пользоваться новой версией так же, как старой.
Не пытайтесь воспринимать 2.9.9. как 299. Это не число и не поддается правилам инкрементирования чисел.
2.9.91 - самое понятное решение. Если бы вы использовали настроенную систему контроля версий, то она сама бы дала нужные цифры (скорее всего, другие).
Вот один из наиболее распространенных подходов:
Формат номера версии A.B.C.D[r], где:• A – главный номер версии (major version number). • B – вспомогательный номер версии (minor version number). • C – номер сборки, номер логической итерации по работе над функционалом версии A.B (build number). • D – Номер ревизии, сквозной номер назначаемый автоматически программным обеспечением хранения версий (SVN). Номер ревизии SVN должен синхронизироваться с номером ревизии в AssemblyInfo при каждой сборке релиза (revision number). • [r] – условное обозначение релиза.
Подробнее - https://habrahabr.ru/post/119400/
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Как скрыть остальных получателей с txt файла? в поле кому, отображаются все получатели, нужно что бы отображался только один
С сервера API приходит запрос post(x-www-form-urlencoded) со значением(print_r):
Допустим нужно настроить выпадающее меню wordpress под свои нужды, назначить им разные стили, в зависимости от некоторых условийМеню регистрируется...