Нумерация версий

Материал из devopswiki
Версия от 10:22, 6 ноября 2012; Admin (обсуждение | вклад) (Расширенные сведения)

(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

Нумерация версий - это процесс назначения уникального имени или цифрового номера версии уникальным состояниям ПО. В пределах категории нумерации (главное число - major, второстепенное число - minor), эти числа присваиваются в порядке возрастания соответствуют новым релизам ПО с доработками. В основе нумерации версий часто находится система управления версиями для отслеживания последовательных изменений в разных версиях электронной информации, не только для исходных кодов ПО.

Жизненный цикл успешной компьютерной программы может быть очень долгим; изменения в программе бывают разными — от исправления ошибки до полного переписывания. В большинстве случаев название программы остаётся тем же, изменяется подназвание — так называемая версия.


Общие сведения

Общую информацию Вы можете получить, перейдя по следующим ссылкам:

Нумерация версий в Википедии

Нумерация версий для начинающих

Нумерация версий для пользователей Visual Basic 6.0

Расширенные сведения

С дополнительной информацией об этом понятии Вы можете ознакомиться ниже.

Версия программы может быть целым числом (Corel Draw 11), дробным числом (Windows 3.11), последовательностью чисел (JDK 1.0.3), годом (Windows 2000) или текстом (Embarcadero Delphi XE). В любом случае, система версионирования выбирается по нескольким критериям:

  • Поддержка той или иной системы со стороны ПО для разработки (компилятора, системы контроля версий и т. д.)
  • Частота выхода новых версий и их «сырость». Сложная программа, выпускаемая раз в несколько лет и перед выпуском проходящая всеобъемлющее тестирование, может именоваться как «Microsoft Word 97 SP2», в то время как в программе с частыми малостабильными выпусками приходится вводить более сложную нумерацию.
  • Степень совместимости сетевых протоколов, документов или надстроек сторонних разработчиков — например, «старшая» версия увеличивается с каждым изменением ABI или API.
  • Маркетинговые соображения.

Схемы нумерации

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

В некоторых схемах последовательные идентификаторы используются для определения значимости перемен между стадиями разработки: эти перемены классифицируются по уровням значимости. Решение о том, какую из последовательностей (в сложной нумерации версий) изменить между стадиями разработки, основано на значимости перемен на последней стадии разработки, например, в схеме, с версией, состоящей из последовательности 4 чисел, первое число может быть прибавлено только тогда, когда код полностью переписан, в то время как четвертое число изменяется при незначительных переменах в интерфейсе или документации. Эта практика позволяет пользователям (или потенциальным последователям), оценить, насколько было протестировано в реальных условиях данное программное обеспечение. Если изменения сделаны, например, между 1.3rc4 (RC — release candidate, релиз-кандидат) и продукционным выпуском 1.3, то выпуск 1.3rc4 не предполагает уровень тестирования производственного класса и, на самом деле, содержит изменения, которые не обязательно были испытаны в реальных условиях. Такой подход обычно допускает применение третьего уровня нумерации («изменения»). Например: 1.3.1, 1.3.2, 1.3.3, 1.3.4,… 1.4.1 и т. д.

Версия 1.0 как ключевой этап разработки

Коммерческие программы, как правило, начинают нумеровать свои версии с 1.0. Считается даже, что версия 1.0 исключительно сыра и поэтому нужно как можно быстрее дойти до 1.2 или даже до 2.0. В бесплатных и свободных программах 1.0 считается моментом, когда программа признана готовой к широкому применению неспециалистами. При этом первоначальные версии программы нумеруются как 0.1, 0.2 и т. д. FreeDOS пришёл к версии 1.0 в 2006 году — когда DOS уже практически нигде не использовался. Эмулятор игровых автоматов MAME никогда не дойдёт до версии 1.0, поскольку история игровых автоматов продолжается и поныне.

Последовательные номера

Изначально программы нумеровались числами 1, 2, 3 и т. д. — аналогично изданиям книг. Впрочем, этой нумерации оказалось мало: приходится разделять малые и крупные изменения. Для этого есть несколько способов нумерации.

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

Десятичная дробь

Номер версии является десятичной дробью в американском формате (через точку). Например, первая версия получает номер 1.0, следующая за ней — 1.1, с небольшим изменением — 1.11. После серьёзного дописывания выходит версия 1.5, после чего — 2.0. Сравнение версий идёт по правилам десятичных дробей: 1.01 < 1.1 = 1.10 < 1.11 < 1.2 = 1.20.

Последовательность чисел

Этот способ принят, например, в Windows API. Версия состоит из нескольких (как правило, трёх) чисел, разделённых точкой. При увеличении одного из чисел все идущие после него сбрасываются до нуля: 1.0.0, 1.0.1, 1.0.2, 1.1.0, 1.2.0, 1.2.1, 2.0.0… Числа сравниваются целиком: 1.1.0 < 1.1.2 < 1.10.0 < 1.11.0 < 1.20.0. Последний ноль может опускаться.

Иногда четвёртым числом идёт номер сборки со сквозной нумерацией. Эта цифра может увеличиваться на единицу с каждым выпуском (1.0.0.1 < 1.0.1.2 < 1.0.2.3 < 1.1.0.4), либо браться из какого-нибудь технического счётчика (компиляций, ночных сборок, версий кода в системе контроля версий — например, 1.5.2.7682).

Буква в качестве младшей версии

Иногда вместо третьего числа применяется буква. Так, когда в DotA 6.42 нашли ошибку, новой версии дали название 6.42b. Это значит: игра остаётся той же, с тем же расположением препятствий и тем же балансом, но с исправленной ошибкой. Дальнейшие исправления ошибок именуются 6.42c, 6.42d и т. д.

Алфавитно-цифровое название

Чаще всего применяется ПО с долгой историей и редко выходящими версиями. Например: Adobe Photoshop CS2, Windows Vista.

Иногда в дополнение к обычной версии используется алфавитно-цифровое подназвание: Ubuntu 9.04 Jaunty Jackalope.