Це те, що вам доведеться розглядати з різних кутів, оскільки вам потрібно враховувати потреби користувача, а також потреби програмного забезпечення та розробників.
Взагалі, ваші клієнти не будуть дуже піклуватися про те, яким буде номер версії програмного забезпечення, якщо вони знають, що вони працюють дещо новіше (тобто Продукт 2012 новіший, ніж Продукт 2010), і що вони це знають є актуальним, якщо є виправлення, які можна розгорнути (наприклад, продукт 2012, оновлення 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 сайти. Причиною цього є те, що версії будуть занадто часто змінюватися в середовищі безперервного розгортання, і ви можете мати кілька версій коду, що з'являються в один і той же день, що виправдовує номер версії, а поточна дата є такою ж доброю, як і будь-яка для розбиття речей ще більше. Теоретично ви можете просто скористатися номером версії для всього, але використання поточної дати дозволяє внутрішньо відслідковувати основні етапи, які можуть полегшити обговорення.