Страницы

Поиск по вопросам

понедельник, 9 декабря 2019 г.

Какие существуют основные способы версионирования программ?

#версионность


Почти у каждой программы есть номер её версии, например: '1.23', '2.3568', '3.89_32',
'Ubuntu 12.04', 'Linux 3.16.0', 'perl v5.20.2' и т.п. 

Отсюда вопрос: какие существуют распространённые способы задания номера версии программ
и по какому принципу они задаются (что означают конкретные цифры в названии версии)?
    


Ответы

Ответ 1



Самая распространённая схема версионирования: major.minor.maintenance major - крупные изменения, либо изменения несовместимые с предыдущей версией; minor - добавление функционала без нарушения совместимости; maintenance - исправления. Может быть добавлено ещё одно число, обозначающее номер сборки (build). Например: 2.0.63.4

Ответ 2



Например, в .NET стандартно используется класс Version, содержащий свойства Major, Minor, Build и Revision. Переведу кусок официальной документации: Номер версии состоит из следующих компонент: мажорный* (старший) номер версии, минорный (младший), номер билда**, и номер ревизии, из которых используется две, три или четыре. Мажорный и минорный номера обязательны, ревизия или ревизия и номер билда могут быть опущены. Значения свойств — неотрицательные целые числа. Номер версии записывается в виде major.minor[.build[.revision]] (части в квадратных скобках необязательны). Компоненты должны означать следеующее: Мажорный номер: Сборки (то есть, файлы библиотек) с одним и тем же именем, но разными мажорными версиями не взаимозаменяемы. Старшая версия может означать полное переписывание кода, без сохранения обратной совместимости. Минорный номер: Если имя и мажорный номер версии двух сборок одинаковы, но минорные номера отличаются, это означает существенные изменения с сохранением обратной совместимости. Более высокая минорная версия может означать новый релиз того же продукта или полностью обратно совместимую новую версию того же продукта. Номер билда: Одинаковый номер билда означает рекомпиляцию того же самого исходного текста. Различные номера билдов нужны, если повторная компиляция производится для другого процессора, платформы, опций оптимизации, или другим компилятором. Ревизия: Сборки с одинаковым именем, мажорной и минорной версией, но разными ревизиями, должны быть полностью взаимозаменяемыми. Более высокий номер ревизии может быть использован для выпуска версии, закрывающей критическую ошибку безопасности выпущенной раньше версии. Последовательные выпуски версий сборки, отличающиеся лишь номером билда и/или ревизией, считаются хотфиксами (заменами, закрывающими проблемы) предыдущей версии. *Термины «мажорный» и «минорный» — калька от «major» и «minor», но они, кажется, устоялись. **Слово «сборка» в мире .NET имеет устоявшееся значение.

Ответ 3



Самая распространенная схема с дробным числом – 1.0.0 В такой схеме обычно первая цифра означает мажорную (major) версию в рамках которой есть поддержка обратной совместимости. Следующая мажорная версия например может не иметь какого то старого функционала и будет не совместима с предыдущей. Вторая цифра обычно минорная (minor) версия. То есть добавление функционала без нарушения обратной совместимости. Третья цифра это обычно номер сборки или просто инкремент. В этой версии исправление ошибок или не существенные правки, хотфиксы. Еще некоторые устоявшиеся правила: 0.9 – обычно бета версии 1.0 – первый боевой релиз Детальнее – можно начать например с Вики

Комментариев нет:

Отправить комментарий