Что обычно представляют цифры в версии (т.е. v1.9.0.1)? - PullRequest
114 голосов
/ 15 сентября 2008

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

Ответы [ 29 ]

162 голосов
/ 15 сентября 2008

В версии 1.9.0.1 :

  • 1 : основная редакция (новый пользовательский интерфейс, множество новых функций, концептуальные изменения и т. Д.)

  • 9 : небольшая ревизия (возможно, изменение поля поиска, добавлена ​​1 функция, исправление ошибок)

  • 0 : выпуск исправлений ошибок

  • 1 : номер сборки (если используется) - вот почему вы видите .NET Framework, используя что-то вроде 2.0.4.2709

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

16 голосов
/ 24 июля 2014

Существует спецификация Semantic Versioning

Это краткое изложение версии 2.0:

Учитывая номер версии MAJOR.MINOR.PATCH, увеличить:

MAJOR version when you make incompatible API changes,
MINOR version when you add functionality in a backwards-compatible manner, and
PATCH version when you make backwards-compatible bug fixes.

Дополнительные метки для предварительной версии и метаданных сборки доступны как расширения в формате MAJOR.MINOR.PATCH.

13 голосов
/ 15 сентября 2008

Это может быть очень произвольно, и отличается от продукта к продукту. Например, в дистрибутиве Ubuntu 8.04 относится к 2008 году. Апрель

Как правило, самые левые (основные) числа указывают на основной выпуск, и чем дальше вы идете вправо, тем меньше изменение.

12 голосов
/ 15 сентября 2008
8 голосов
/ 16 сентября 2008

Числа могут быть полезны, как описано в других ответах, но подумайте, как они также могут быть довольно бессмысленными ... Sun, вы знаете, SUN, java: 1.2, 1.3, 1.4 1.5 или 5, а затем 6. В старой доброй версии Apple II номера означают что-то. В настоящее время люди отказываются от номеров версий и идут с глупыми именами, такими как «Feisty fig» (или что-то в этом роде) и «hardy heron», «europa» и «ganymede». Конечно, это гораздо менее полезно, потому что у вас кончится спутник Юпитера, прежде чем вы перестанете менять программу, и, поскольку нет очевидного порядка, вы не можете сказать, что новее.

7 голосов
/ 15 сентября 2008

Чем больше очков, тем незначительнее релиз. За этим не существует реального твердого стандарта - это может означать разные вещи, основанные на том, что решают сопровождающие проекта.

WordPress, например, работает следующим образом:

1.6 -> 2.0 -> 2.0.1 -> 2.0.2 -> 2.1 -> 2.1.1 -> 2.2 ...

с 1.6 до 2.0 будет большой релиз - функции, изменения интерфейса, серьезные изменения в API, поломка некоторых шаблонов 1.6 и плагинов и т. Д. 2.0 к 2.0.1 будет второстепенным выпуском - возможно, исправление ошибки безопасности. 2.0.2 до 2.1 будет значительным выпуском - как правило, новые функции.

4 голосов
/ 15 сентября 2008

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

Проверьте эти ресурсы:
http://www.netbeans.org/community/guidelines/process.html
http://en.wikipedia.org/wiki/Release_engineering
http://www.freebsd.org/releases/6.0R/schedule.html

Приветствия

3 голосов
/ 15 сентября 2008

Номера версий обычно не представляют отдельные компоненты. Для некоторых людей / программного обеспечения цифры довольно условны. Для других, разные части строки номера версии представляют разные вещи. Например, некоторые системы увеличивают части номера версии при изменении формата файла. Таким образом, V 1.2.1 - формат файла, совместимый со всеми другими версиями V 1.2 (1.2.2, 1.2.3 и т. Д.), Но не с V 1.3. В конечном итоге вам решать, какую схему вы хотите использовать.

2 голосов
/ 15 сентября 2008

Из файла C # AssemblyInfo.cs вы можете видеть следующее:

// Version information for an assembly consists of the following four values:
//
//      Major Version
//      Minor Version 
//      Build Number
//      Revision
//
/ You can specify all the values or you can default the Build and Revision Numbers 
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
2 голосов
/ 15 сентября 2008

release.major.minor.revision будет моим предположением.
Но это может сильно различаться между продуктами.

...