Номера версий 1.13> 1.2? - PullRequest
16 голосов
/ 03 июня 2009

Я знаю с точки зрения .NET, что сборка с версией 1.13 считается более новой версией, чем версия 1.2, потому что каждое число в версии оценивается индивидуально. Однако с числовой точки зрения 1,13 <1,2. </p>

Проблема сводится к удобочитаемости при публикации обновлений для клиентов. С .0 до .9 это все то же самое, но на .10 вы должны дифференцировать. Итак, вы ограничиваете количество выпусков точек до 9, а затем увеличиваете основную версию, когда достигнете .9?

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

Обновление:

Не думай, что это десятичное число число. (.) Является разделителем между разные поля. Что каждое поле означает (например):

 MajorRelease.MinorRelease.BuildNumber

Абсолютно! Вот так я вижу это, когда смотрю на номера версий. Но это не то, как ваш средний Джо читает текст «1.13». Я предполагаю, что как программисты легко проецировать наше понимание на наших пользователей. Вот почему меня интересуют отзывы об опыте с путаницей в цифрах. Это не может быть реальной проблемой, или, возможно, это просто проигнорировано.

Обновление 2: Ответ типа «предоставьте документацию» или «объясните пользователям» решения типа: они не работают! :) Если вам нужно объяснить номер версии пользователю, вы уже сделали его более сложным, чем нужно. В то время как основной аудиторией для части технологии могут быть разработчики во многих компаниях, фактическая закупка и управление программным обеспечением осуществляются секретарями и канцелярским персоналом, который вообще не имеет опыта разработки или технологий. Если их менеджер спрашивает их «Есть ли новая версия, доступная с 1.9», и они видят «1.11», они могут не зарегистрировать ее как более новую версию.

Ответы [ 11 ]

16 голосов
/ 03 июня 2009

Нумерация версий может сбивать с толку, если нумерация версий выглядит как десятичное число, но (.) на самом деле является разделителем между независимыми полями, которые читать что-то вроде этого:

MajorRelease.MinorRelease.BuildNumber

Каждое число не зависит от остальных, поэтому за версия 1.12.99 может следовать версия 1.12.100 (например). В итоге вы получите:

В выпуске 1, Незначительном выпуске 12 ... сборка 100 приходит после сборка 99.

Итак, в вашем примере (v1.13> v1.2): второстепенный выпуск "13" наступил бы через некоторое время после выпуска "2".

7 голосов
/ 03 июня 2009

Это стандартная практика, и любой, кто обращает внимание на «номера» версии , должен знать об этом в любом случае . Единственная причина, по которой может возникнуть какое-либо неправильное представление, заключается в том, что «номер» вашей версии имеет только одну точку, например «1.13», в этом случае его можно потенциально спутать с десятичным числом (незнакомым читателем), что вызывает сожаление, потому что они представляют совершенно разные вещи, хотя и используют одну и ту же запись. Вы используете номера ревизий? Если это так, то становится намного понятнее, что версии не являются десятичными, например "1.13.2". Я бы все равно рекомендовал эту практику с точки зрения дизайна.

Побочное замечание: Если вы хотите сравнивать версии сборок программно, вы можете просто использовать класс Version, который перегружает операторы сравнения, так что вы можете легко проверить, что является более новым, просто оценив versionA > versionB.

5 голосов
/ 03 июня 2009

1.13> 1.2

Если вы считаете, что это может сбить клиента с толку, избегайте проблем - начните нумерацию с 1.10:)

5 голосов
/ 03 июня 2009

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

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

3 голосов
/ 03 июня 2009

Например: 3.1, 95, 98, Me, XP, Vista, 7

Просто придумайте что-нибудь новое, клиент будет беспокоиться не так сильно, как вы думаете. Объясните новые функции, а не номер версии.

2 голосов
/ 03 июня 2009

Эта проблема меня тоже беспокоила некоторое время. Дополнение нулями для & lsquo; разумного & rsquo; Сортировка строк кажется хорошей идеей (хотелось бы, чтобы за этим последовало больше исходных тарболлов; в противном случае может быть очень трудно выделить самые последние среди десятков выпусков).

Я недавно заметил, что разработчики говорят "ldquo; 1.13" как «одна точка тринадцать», а не «одна точка три три», что, я думаю, я приму к практике. Это дает понять, что номер версии - это строка чисел, а не десятичная дробь. Возможно, нам следовало бы, скажем, использовать тире или косую черту вместо точки в качестве разделителя, чтобы сделать письменную форму менее двусмысленной.

Если бы вы рассматривали их как десятичные дроби, вы, вероятно, в итоге получили бы номера версий, такие как & ldquo; 1.999999 & rdquo; как вы подходите к новой основной версии! (Я помню диалекты BASIC с нумерацией строк, у которых была похожая проблема.) Это также напоминает мне схемы нумерации Кнута для TeX и METAFONT (сходящиеся к пи и е соответственно, что, я думаю, блестяще: оно предполагает, что программное обеспечение с четко определенная цель должна стремиться к идеальному состоянию, а не постоянно расширяться).

0 голосов
/ 03 июня 2009

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

Как вы это делаете, зависит от вас.

Вы можете сделать A.B.C или I.II.III или все, что вам нравится.

Я пытаюсь упростить понимание для пользователя. Поскольку мне лично все равно, как это.

У меня есть три уровня. Major.Minor.Build

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

Числа на Major и Minor являются целыми числами, поэтому 13 больше 2, но обычно мы никогда не поднимаемся так высоко в незначительных ревизиях, мы скорее склонны собирать вместе второстепенные сборки и помещать их в 1 главную.

0 голосов
/ 03 июня 2009

Я не считаю номер версии одним числовым числом, а скорее массивом числовых элементов. Поэтому я всегда находил естественным, что 1.13> 1.2. Я бы не стал увеличивать основную версию только потому, что предыдущим несовершеннолетним было 9, и кто-то может подумать (хотя я нахожу это маловероятным), что 1.9 позже, чем 1.10.

0 голосов
/ 03 июня 2009

Однако с числовой точки зрения 1,13 <1,2. </p>

Я так не думаю.

Итак, вы ограничиваете количество выпусков точек до 9, а затем увеличиваете основную версию, когда достигнете .9?

нет. Мои цифры уходят в десятки. Большие проекты уходят в сотни, для промежуточных сборок.

0 голосов
/ 03 июня 2009

нет. В каждой версии программного обеспечения для delopers, которую я видел, 1.13> 1.2

...