Я не уверен в других способах этого делать, но вот как вы это делаете в Prototype (учебник JSON) .
new Ajax.Request('/some_url', {
method:'get',
requestHeaders: {Accept: 'application/json'},
onSuccess: function(transport){
var json = transport.responseText.evalJSON(true);
}
});
Вызов evalJSON () с истинным как аргумент санирует входящую строку.
Я начинаю любить год. Выпуск [.Build] соглашение, что некоторые приложения (например, По необходимости) использование. В основном это просто говорит год, в котором Вы выпускаете, и последовательность в течение того года. Так 2008.1 была бы первая версия, и если бы Вы выпустили другого месяцы или три позже, она перешла бы в 2 008,2.
преимущество этой схемы нет никакой подразумеваемой "величины" выпуска, где Вы входите в аргументы о том, является ли функция достаточно главной для гарантирования увеличения старшей версии или нет.
дополнительное дополнительное должно наклеить номер сборки, но это имеет тенденцию быть во внутренних целях только (например, добавил к EXE/DLL, таким образом, можно осмотреть файл и удостовериться, что правильная сборка там).
Для прошлых шести основных версий мы использовали M.0.m.b, где M является основной версией, m является вспомогательной версией, и b является номером сборки. Таким образом, выпущенные версии включали 6.0.2, 7.0.1..., до 11.0.0. Не спрашивайте, почему второе число всегда 0; я спросил неоднократно, и никто действительно не знает. У нас не было ненулевого там, так как 5.5 был выпущен в 1996.
Для внутренней разработки мы используем следующий формат.
[Program #] . [Year] . [Month] . [Release # of this app within the month]
, Например, если я выпускаю приложение № 15 сегодня, и это - третье обновление в этом месяце, тогда моя версия # будет
15.2008.9.3
, Это полностью нестандартно, но это полезно для нас.
Мне нравится Year.Month.Day. Итак, v2009.6.8 будет «версией» этого поста. Невозможно продублировать (разумно), и это очень ясно, когда что-то более новое издание. Вы также можете сбросить десятичные дроби и сделать это v20090608.
Я использую V.R.M, например, 2.5.1
В (версия), изменения являются основной перезаписью
R (пересмотр), изменения являются существенно новыми функциями или исправлениями ошибок
М (модификация), изменения являются незначительным bux, фиксирует (опечатки, и т.д.)
, я иногда использую число фиксации SVN на конце также.
Единственное использование, которое я когда-либо делал из номера версии, состояло в том так, чтобы клиент мог сказать мне, что они используют версию 2.5.1.0 или что бы то ни было.
, Мое единственное правило разработано для уменьшения ошибок в создании отчетов что число: все четыре числа должны быть 1 цифрой [только 119].
1.1.2.3
в порядке, но
1.0.1.23
не. Клиенты, вероятно, сообщат об обоих числах (устно, по крайней мере) как "one-one-two-three".
номера сборки Автопостепенного увеличения часто приводят к номерам версий как
1.0.1.12537
, который действительно не помогает, также.
Люди склонны хотеть сделать это намного тяжелее, чем это действительно должно быть. Если Ваш продукт имеет только единственное долговечное ответвление, просто назовите последовательные версии их номером сборки. Если у Вас есть некоторые "незначительные исправления ошибок, свободны, но необходимо заплатить за главные новые версии", тогда используйте 1.0, 1.1... 1.n, 2.0, 2.1... и т.д.
, Если Вы не можете сразу выяснить, каковы A, B, C, и D в Вашем примере, тогда Вам, очевидно, не нужны они.
Наша политика:
Я думаю, что существует два способа ответить на этот вопрос, и они являются не совсем дополнительными.
нижняя строка, я думаю, находит модель, которая работает на Вас и Ваших клиентов. Я видел некоторые случаи, где даже версии являются общедоступными выпусками, и нечетные версии считают бетой или выпусками dev. Я видел некоторые продукты, которые игнорируют C и D все вместе.
Тогда существует пример от Micrsoft, где единственное рациональное объяснение к номерам версий для.Net Платформы состоит в том, что Маркетинг был включен.
Я обычно использую D в качестве счетчика сборок (автоматическое увеличение компилятором). Я увеличиваю C каждый раз, когда сборка публикуется как «общедоступная» (не каждая сборка выпускается). A и B используются в качестве номера основной / вспомогательной версии и меняются. вручную.
Хорошая и нетехническая схема просто использует дату сборки в следующем формате:
YYYY.MM.DD.BuildNumber
Где BuildNumber - это либо непрерывное число (список изменений), либо просто начинается с 1 каждый день.
Примеры: 2008.03.24.1 или 2008.03.24.14503
Это в основном для внутренних выпусков, в общедоступных выпусках будет напечатана версия 2008.03, если вы выпускаете не чаще, чем раз в месяц. Сопровождающие выпуски помечаются как 2008.03a, 2008.03b и так далее. Они должны редко проходить «с», но если это так, это хороший показатель, вам нужны лучшие процедуры контроля качества и / или тестирования.
Поля версий, которые обычно видны пользователю, должны быть напечатаны в удобном формате «Март 2008», зарезервируйте дополнительную техническую информацию в диалоговом окне «О программе» или файлах журнала.
Самый большой недостаток: простая компиляция того же кода в другой день может изменить номер версии. Но вы можете избежать этого, используя список изменений контроля версий в качестве последнего номера и сверяясь с ним, чтобы определить, нужно ли также изменять дату.
По-моему, почти любая схема номера выпуска может быть сделана работать более или менее нормально. Система я работаю над номерами версий использования такой как 11,50. UC3, где U указывает на 32-разрядный Unix и C3, является незначительным пересмотром (почините пакет), число; другие буквы используются для других типов платформы. (Я не рекомендовал бы эту схему, но она работает.)
существует несколько золотых правил, которые не были до сих пор указаны, но которые неявны в том, что обсудили люди.
Теперь, на практике, люди действительно должны выпустить, фиксирует для более старых версий, в то время как более новые версии доступны - см. GCC, например:
Так, необходимо создать нумерацию версии тщательно.
Еще одна точка, в которую я твердо верю:
С SVN, Вы могли использовать номер версии SVN - но вероятно не будет как он изменяться слишком непредсказуемо.
Для материала я работаю с, номер версии является чисто политическим решением.
Кстати, я знаю о программном обеспечении, которое прошло выпуски от версии 1.00 до 9.53, но это тогда измененное на 2,80. Это было грубой ошибкой - продиктованный путем маркетинга. Предоставленный, версия 4.x программного обеспечения, is/was устаревший, таким образом, это сразу не сделало для беспорядка, но версия 5.x программного обеспечения все еще используется и продана, и изменения уже достигли 3.50. Я очень взволнован о том, что мой код, который должен работать с обоими 5.x (старый стиль) и 5.x (новый стиль), собирается сделать, когда неизбежный конфликт происходит. Я предполагаю, что должен надеяться, что они будут тянуть резину при изменении на 5.x, пока старое 5.x действительно не будет мертво - но я не оптимистичен. Я также использую искусственный номер версии, такой как 9,60, для представления этих 3,50 кодов, так, чтобы я мог сделать нормальный if VERSION > 900
тестирование, вместо того, чтобы иметь необходимость сделать: if (VERSION >= 900 || (VERSION >= 280 && VERSION < 400)
, где я представляю версию 9.00 900. И затем существует существенное изменение, представленное в версии 3.00.xC3 - моей схеме не удается обнаружить изменения на незначительном уровне выпуска... ворчат... ворчание...
NB: Eric Raymond обеспечивает ПРАКТИЧЕСКОЕ РУКОВОДСТВО Практики Релиза программного обеспечения включая (связанный) раздел по именованию (нумерации) выпуски.
В конце концов, все это действительно субъективно и зависит только от вас / вашей команды.
Просто взгляните уже на все ответы - все очень разные.
Лично Я использую Major.Minor. *. *
- где Visual Studio автоматически подставляет номер версии / сборки. Это используется и там, где я работаю.
Хорошая удобная для пользователя схема управления версиями, созданная на старой Mac OS, описана в этой технической заметке Apple: http://developer.apple.com/technotes/tn/tn1132. html