К сожалению, .Net, по мнению многих, считает, что числа сборок «неправильные». AssemblyInfo указывает номер сборки как [Major][Minor][Build][Revision]
, что для меня не имеет никакого смысла. Конечно, ночная сборка происходит чаще, чем пересмотр спецификации, и поэтому является «наименьшим» изменением? Я не собираюсь бороться с фреймворком, поэтому мне просто придется это терпеть.
Может быть, это та же самая причина, по которой американцы указывают даты в неправильном порядке. Опять же, здравый смысл будет последовательно диктовать большое -> маленькое.
Что касается организации этого концептуально, я бы сказал, что каждая часть номера сборки из четырех частей должна указывать самое последнее изменение соответствующей величины; то есть:
Major: серьезное обновление приложения, за которое, как вы ожидаете, будут платить пользователи, если это коммерческий проект. Пользователи должны ожидать, что столкнутся с проблемами инфраструктуры, такими как пакеты обновления и новые версии .Net;
Незначительный. Значительный набор исправлений ошибок и запросов на изменение, которые соответствуют описанию «небольшой функции». Все, что, возможно, должно было быть в программе, уже может быть свернуто в минорную версию;
Сборка: Личный выбор, но для меня это будет уникальный номер сборки. Если вы получаете ваши двоичные файлы с сервера интеграции, это может исчисляться десятками тысяч. Скорее всего, это будет ночная сборка, но также может быть построена по требованию, когда премьер-министр скажет «уйти» Номер сборки должен однозначно соответствовать событию, которое положило начало полной производственной сборке на сервере интеграции.
Пересмотр: должен соответствовать поправке к спецификации, по крайней мере, концептуально. Как правило, соответствует элементу в журнале изменений, то есть всем инкрементным изменениям вплоть до запроса изменений x.