Это то, на что вам придется взглянуть с нескольких точек зрения, так как вам необходимо учитывать потребности пользователей, а также потребности программного обеспечения и разработчиков.
В общем, ваши клиенты не будут сильно беспокоиться о том, какой будет номер версии программного обеспечения, если они знают, что работают с чем-то более новым (то есть Product 2012 новее, чем Product 2010) и знают, что это знают. обновляется, если есть исправления, которые можно развернуть (например, Product 2012, Update 10). Таким образом, с точки зрения брендинга клиента я предпочитаю либо именованные выпуски (например, Windows XP, Windows Vista) с последующим строгим порядковым номером исправлений, которые могут быть установлены пользователями.
Тем не менее, написание программного обеспечения, которое проверяет, что легко для пользователя, имеет тенденцию усложнять процесс написания кода. Поэтому я предпочитаю использовать простую Major.Minor
схему версий хотя бы потому, что вы можете сделать простое сравнение чисел, чтобы проверить, что что-то актуально, как показано ниже:
// Check to see if we can handle the file version
if (this.Version < fileVersion) {
throw new UnsupportedFileException("The file version is " + fileVersion.toString() + " which is not supported");
}
// Do stuff ...
Чтобы поместить это в некоторый контекст, мне, как правило, все равно, насколько большим становится младшее число (т. Е. 1.1024), что позволяет вышеуказанной системе продолжать успешно работать. Как правило, номера ревизий представляют интерес только для внутреннего развития, и я на самом деле даже не видел, чтобы они влияли на вещи, выходящие за рамки простого присвоения вещам дополнительного номера для отслеживания.
Однако две вышеупомянутые схемы на самом деле не применимы только к средам, в которых используется непрерывное развертывание (т. Е. Stack Exchange), где я, как правило, предпочитаю какую-то дату, за которой следует номер редакции, который, как представляется, используется на Stack Exchange. места. Причиной этого является то, что версии будут меняться слишком часто в среде непрерывного развертывания, и в один и тот же день может появиться несколько версий кода, что оправдывает номер редакции, а текущая дата так же хороша, как и любая другая еще больше. Теоретически вы можете просто использовать номер редакции для всего, но использование текущей даты позволяет вам отслеживать основные этапы внутри компании, которые могут облегчить обсуждение.