2009-03-06 3 views
4

ДУБЛИРУЙТЕВыбирание номера версии

How to do version numbers?


Здравствуйте,

Так что я недавно видел, что Groovy был выпущен в версии 1,6 и слушая Java Posse Подкаст, они комментировали, как было так много упакованных в этот выпуск, он должен был быть 2.0 выпуск.

Это заставило меня задуматься. Номера версий просто произвольны? Раньше я думал, что у них есть смысл, но я думаю, нет. Все ли это просто веха и проект, который нужно проектировать?

Как ваша команда контролирует ваши номера версий и выпуски?

Заранее спасибо

ответ

7

Различать управления версиями для маркетинга и управления версиями для технического использования.

Для маркетинга ответ: «Все, что вы хотите, чтобы ваши клиенты думали». В этом случае «основная новая версия», вероятно, должна сопровождаться основным номером версии.

Также имейте в виду, что осторожные клиенты будут не решаться использовать «крупные» новые релизы до тех пор, пока не пройдет время, и они попробовали его в тестовой среде. Релиз «смены сборки» воспринимается как исправление ошибок и другие незначительные вещи, которые не требуют большого процесса для установки.

Для технического использования ответ: «Любая информация, которую вы хотите кодировать для разработчиков». Нет никакого правильного способа сделать это; это зависит от ваших целей.

Возможно, «основная» версия означает «значительные изменения, которые могут означать множество новых ошибок». Возможно, на каждом компиле появляется новый номер сборки. Возможно, ночная сборка по дате - это ваша версия. Вы можете использовать его вовремя, циклы Scrum, этапы, функции, что угодно!

1

номер версий произвольный, но есть некоторые правила, Ф.О. большого пальца (я думаю). Очень незначительные изменения или исправления обычно увеличиваются на 0.0.1, то есть V1 становится V1.0.1. Незначительные изменения в функциональности увеличиваются на 0,1,0, а V1.0.1 становится V1.1.0. Основные изменения или повторная запись получают увеличение 1.0.0, то есть до V2.

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

Кроме того, IIRC, некоторые проекты имеют тенденцию обозначать экспериментальные сборки с нечетными версиями и стабильные сборки как четные (поэтому V3 опасен, V4 стабилен).

6

Они очень произвольны.Многие люди хотели бы иметь что-то вроде

[major].[minor].[release].[revision] 

как их схемы управления версиями, но я также в компаниях, которые отказались выпустить 1.0 брендированный продукт, потому что один из VPs не хотел. Маркетинг также может повлиять на это.

Хороший вопрос задать для увеличения основной версии может быть:

Если бы это было платным продуктом, что клиенты платят обновление до новой версии?

Если да, возможно, это будет хорошим увеличением основного номера.

0

В случае библиотеки номер версии сообщает вам о совместимости между двумя версиями и, таким образом, насколько сложно будет обновление.

Освобождение от исправления ошибок должно сохранять совместимость с двоичным кодом, источником и сериализацией.

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

Номера основных версий могут разбить все три формы.

Я написал больше об обосновании here.

Смежные вопросы