Семантическое управление версиями: что это такое, чего нет и зачем оно вам нужно
Опубликовано: 2019-05-20Большая часть используемого вами программного обеспечения часто выпускает новые версии, обычно идентифицируемые по соответствующему номеру версии. Система называется «семантическое управление версиями» и позволяет отслеживать ход разработки. Более того, если вы работаете с WordPress, вы определенно можете извлечь выгоду из хорошей практики семантического управления версиями.
В этой статье мы кратко расскажем о семантической системе управления версиями и о том, как она работает. Затем мы поговорим о том, кому это выгодно, и дадим вам несколько советов, которые помогут убедиться, что вы все делаете правильно.
Давайте поговорим о цифрах!
Что такое семантическое управление версиями
Если вы перейдете на страницу загрузки WordPress.org, вы заметите, что она сообщает вам, какую версию системы управления контентом (CMS) вы загружаете:

Система, используемая для определения этого числа, называется «версией». В частности, вы смотрите на пример семантического управления версиями, когда выпуск разбит на три числа, разделенных точками. Давайте рассмотрим, что означает каждое из этих значений:
- Версия основного выпуска, которая соответствует изменениям в API.
- Незначительные обновления программного обеспечения, недостаточные для серьезного обновления.
- Патчи или исправления ошибок.
На момент написания мы использовали WordPress версии 5.1.1. Версия 5.0.0 вышла 6 декабря 2018 года. С тех пор у нас было пять второстепенных исправлений (приращение окончательного числа) и один второстепенный выпуск в следующем порядке:
- 5.0.1
- 5.0.2
- 5.0.3
- 5.0.4
- 5.1
- 5.1.1
Как видите, номер патча сбрасывается каждый раз при незначительном обновлении. То же самое относится и к крупному выпуску WordPress, который обычно происходит примерно каждые четыре месяца.
Вся суть семантического управления версиями состоит в том, чтобы вы могли отслеживать все изменения и прогресс, который вы делаете. Более того, если вы конечный пользователь и следите за выпусками, номера версий укажут вам, когда действительно важно обновить. Например, вы можете пропустить одно или два исправления ошибки, но каждый раз, когда появляется второстепенный или крупный выпуск, вам следует обновить (мы наблюдаем, вы знаете!).
Если вы не уверены, стоит ли обновление того, просто просмотрите журнал изменений, который выходит с каждым выпуском. Каждый достойный разработчик будет вести письменный отчет о том, что нового в каждом выпуске.
В целом, семантическое управление версиями довольно просто и полезно во многих ситуациях, помимо разработки программного обеспечения. Давайте поговорим о том, что это такое.
Кому полезно использовать семантическое управление версиями
Обычно системы управления версиями используют разработчики. Что касается WordPress, наиболее очевидными примерами являются обновления самого ядра. Однако разработчики плагинов и тем также используют семантическое управление версиями, хотя часто бывает трудно найти цифры. Например, если вы проверяете страницу плагина на WordPress.org, вы можете найти информацию о его выпусках и журналах изменений на вкладке « Разработка »:

Точно так же вы можете найти информацию о разработке темы на связанных страницах WordPress.org. Однако в этом случае вам необходимо щелкнуть ссылку журнала разработки внизу страницы:

Короче говоря, вы можете использовать семантическое управление версиями практически для любого типа проекта, который включает код. Однако у него также есть приложения, выходящие за рамки простой разработки. Например, вы можете применить управление версиями к дизайн-проектам. Здесь вы можете попытаться увеличить номер версии для основных визуальных изменений, значение для добавления новых элементов или незначительных настроек. Что касается исправлений, вы можете зарезервировать их для небольших визуальных обновлений или исправлений.
Тем не менее, семантическое управление версиями может быть самой популярной игрой в городе, но это не единственная система, которую вы можете использовать. Например, в браузере Chrome используется четырехсекционная система версий - major.minor.build.patch .
В других проектах, таких как Ubuntu, используются системы, построенные на основе дат. Например, Ubuntu в настоящее время находится на версии 19.04, которая, как вы могли догадаться, была выпущена в апреле 2019 года.

В целом не существует единой системы управления версиями, которая идеально подходила бы для любого проекта. Однако семантическое управление версиями - отличный вариант, если вы занимаетесь разработкой программного обеспечения любого типа. Кроме того, это отличное введение, если вы еще не используете какой-либо протокол управления версиями.
3 Лучшие практики для семантического управления версиями
К настоящему времени вы уже имеете представление о том, как работает семантическое управление версиями. Однако давайте рассмотрим несколько советов, чтобы убедиться, что вы используете его правильно.
1. Не начинайте сразу с версии 1.0
В какой-то момент вы, вероятно, использовали программное обеспечение, которое еще не достигло версии 1.0. Это совершенно нормально, поскольку пользователи ожидают, что версия 1.0.0 будет относительно стабильной и безошибочной. Однако это также приводит к ситуациям, когда программному обеспечению требуется много времени, чтобы достичь этого числа, но при этом его можно полностью использовать.
Возьмем, к примеру, популярную компьютерную игру Dwarf Fortress. Он находится в разработке около 15 лет и все еще находится в версии 0.44.12, несмотря на то, что в нем больше функций, чем в большинстве основных игр.

Хотя вы можете пойти на крайние меры, не сразу начинать с версии 1.0.0 имеет смысл. Это позволяет вам проводить бета-тестирование вашего программного обеспечения и сдерживать ожидания пользователей, пока вы это делаете.
Внутренне вы должны начать с версии 0.1.0. Однако большинство проектов не публикуют эту версию, вместо этого ожидая, пока у них появится немного больше разработки. А пока вы можете использовать эти очень ограниченные альфа-версии для внутреннего тестирования, что является ключом к здоровому развитию любого проекта.
2. Объясните конкретные изменения для каждой новой версии.
Одна из самых неприятных ситуаций, в которой вы можете оказаться как конечный пользователь, - это получение множества обновлений, не зная, что они делают. Мы знаем, что большинство людей не читают журналы изменений, но если вы собираетесь выпускать обновление - даже если это всего лишь незначительный патч - вам необходимо задокументировать его.

Журналы изменений, как следует из названия, представляют собой простую разбивку того, что нового в каждом выпуске. Некоторые разработчики пишут длинные обновления, чтобы объяснить каждое изменение, и если вы один из них, то получите больше возможностей.
Честно говоря, мы обычно довольствуемся простым кратким списком того, что нового. Составить журнал изменений просто, и это не займет много времени, так что будьте спокойны и не экономьте на своих обязанностях!
3. Собирайте отзывы пользователей о каждом выпуске.
Вы, вероятно, имеете довольно хорошее представление о том, как вы хотите, чтобы ваш законченный проект выглядел. Однако это не означает, что вы можете отказаться от отзывов пользователей или остальной части вашей команды.
В идеале вы получите определенный уровень обратной связи по каждому выпускаемому вами выпуску, за исключением небольших исправлений и исправлений ошибок. Цель этого процесса - сообщить вам, сталкиваются ли пользователи с какими-либо проблемами или имеют проблемы с направлением развития проекта.
Самый простой пример этого процесса в действии - поделиться с клиентом последней версией текущего веб-сайта. В подавляющем большинстве случаев клиенты будут получать от вас обратную связь, которую вы можете включить в будущие выпуски.
Однако имейте в виду - прислушиваться к отзывам важно, но в некоторых случаях вы можете знать лучше, чем ваши пользователи. Однако это не означает, что вы должны игнорировать их, но иногда ваша интуиция может быть прав.
Заключение
Семантическое управление версиями - удивительно простая система. С помощью всего лишь нескольких цифр вы можете передать много информации о ходе разработки вашего проекта, сообщить пользователям, когда появятся новые важные обновления, и в целом сохранить порядок.
Давайте вспомним три передовых метода, которые вам нужно помнить для семантического управления версиями:
- Не начинайте с первой версии из ворот.
- Объясните конкретные изменения для каждой новой версии.
- Собирайте отзывы пользователей по каждому выпуску.
У вас есть вопросы о том, как использовать семантическое управление версиями? Спросите в разделе комментариев ниже!
Миниатюрное изображение статьи от фатмавати ачмада дзэнури / shutterstock.com
