Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Показано с 1 по 2 из 2
  1. #1
    Аватар для Daniel_Cortez
    "Это не хак, это фича"

    Статус
    Оффлайн
    Регистрация
    06.04.2013
    Адрес
    Novokuznetsk, Russia
    Сообщений
    2,192
    Репутация:
    2589 ±

    Kalcor: Мой подход к нумерации версий

    Автор перевода: Daniel_Cortez
    Оригинальный текст: https://kalcor.site/post/my-attempt-...ioning-system/
    Примечания переводчика:
    • Оригинал статьи взят с сайта kalcor.site. Обратите внимание, что этот сайт является "пародийным блогом" и не имеет никакого отношения к настоящему Kalcor'у.
    • Сначала я хотел поместить тему в раздел "Флейм", но в "Новостях SA-MP" уже есть пара тем с интервью с Kalcor'ом, да и эта тема по большей части относится как лично к Kalcor'у, так и ко всему проекту SA-MP в целом, поэтому я оставлю её в разделе "Новости SA-MP".




    Введение

    Если вы когда-нибудь слышали про SA-MP (San Andreas Mutliplayer), вы наверняка уже знакомы с системой нумерации версий, которую я создал.
    Я думаю, что эта система версий куда лучше Semver (Semantic Versioning) и любых других существующих систем версионирования.

    Как это работает?

    Нумерация начинается с 0.0 и номер должен быть 0.1, как только продукт станет пригодным к использованию и готовым к выходу.

    Мажорные (крупные) релизы

    Каждый раз, когда вы выпускаете новое крупное обновление, вы увеличиваете второй номер версии на 1. К примеру, 0.1 становится 0.2, 0.2 становится 0.3, и так далее...

    Первый номер в версии не используется и присутствует чисто для вида. Не изменяйте его, это будет выглядеть не очень хорошо.

    Минорные (небольшие) релизы

    Вы написали пару новых функций или исправили один или два бага тут и там и решили сделать минорный релиз? Что ж, это просто замечательно!

    Есть два способа нумерации минорных версий:
    • Способ первый: добавить дефис, после которого идёт символ "R" и номер минорного релиза. (Номера минорных релизов начинаются с 1.) Например, допустим, что текущий номер версии - 0.1. Если вы выпустите минорный релиз, он будет 0.1-R1. Просто, не так ли!?

    • Способ второй: добавить букву в конце версии, если её ещё нет, а если есть, то заменить её следующей буквой. Т.е. 0.1 после патча станет 0.1a. 0.1a после ещё одного патча станет 0.1b. Тем не менее, в английском алфавите только 26 букв. Что делать, если я дойду до буквы "z"? На самом деле всё просто: добавьте в конец ещё одну букву. Таким образом, 0.1z станет 0.1za, и так далее...

      Если же у вас были проблемы с заучиванием алфавита в младшей школе, вы можете просто пропустить почти весь алфавит и перейти от "d" к "x". Это тоже абсолютно правильно.

    Так какой же способ выбрать? Ответ прост: используйте такой способ, какой захотите сами, и не бойтесь переходить от одного к другому, когда вам вздумается, это не вызовет никакой путаницы или чего-либо ещё. Если захотите, можете даже использовать оба способа сразу (0.1zb-R28), всё это абсолютно правильно. Лично я предпочитаю использовать оба способа, поскольку так можно быть уверенным, что люди, не знающие наизусть алфавит, смогут запомнить номер текущего релиза и наоборот.

    Релиз-кандидаты

    Вы добавили кучу новых возможностей и исправили кучу багов, но боитесь, что ваши одержимые фанаты, которым никогда не хватит вас, не смогут этим всем насладиться? Что ж, пришло время для релиз-кандидата!

    Релиз-кандидаты помечаются с помощью дефиса, после которого идёт "RC" и номер релиз-кандидата.

    Релиз-кандидаты выходят после минорных релизов.

    Отдельные ветки

    Ваши одержимые фанаты абсолютно ненавидят релиз-кандидаты, но вы всё ещё хотите их выпускать? Вы можете переместить все RC в новую ветку!

    Отдельные ветки помечаются с помощью дефиса, после которого идёт любое название, которое вы хотите дать ветке, заглавными буквами. Имя ветки идёт после мажорного номера релиза.

    Допустим, текущая версия - 0.3zb-R28-RC6, и вы хотите переместить все релиз-кандидаты в отдельную ветку. 0.3zb-R28-RC6 станет 0.3BNzb-R28-RC6, где "BN" - это название ветки ("branch name"). Лучше всего сокращать название ветки до 2-3 символов, но на самом деле ограничений нет.

    Любому типу релиза разрешается ломать обратную совместимость, в отличие от SemVer, где вы можете ломать совместимость только в мажорных релизах. Это одно из множества преимуществ KalVer (Kalcor Versioning) над SemVer.

    Очень важное НЕ

    Ни в коем случае НЕ увеличивайте номер версии больше 0.3. Переход к 4-му мажорному релизу приносит невезение вашему проекту и неотвратимую смерть всем его разработчикам. Если вы хотите продолжить выпускать обновления после 0.3, выпускайте минорные обновления.

    Заключение

    В заключение хотелось бы подытожить, что KalVer - возможно самая лучшая система нумерации версий, которую вы когда-либо встретите. Я прав. И если вы думаете, что я не прав - это вы не правы.
    Индивидуально в ЛС по скриптингу не помогаю. Задавайте все свои вопросы здесь (click).

  2. 9 пользователя(ей) сказали cпасибо:
    Argument (13.09.2018) DeimoS (12.09.2018) Desulaid (13.09.2018) Elrmrnt-Kritik (13.09.2018) Kovshevoy (13.09.2018) Osetin (12.09.2018) pawnoholic (23.09.2018) VVWVV (12.09.2018) Web (12.09.2018)
  3. #2
    Аватар для VVWVV
    ?

    Статус
    Оффлайн
    Регистрация
    09.07.2015
    Сообщений
    731
    Репутация:
    353 ±
    Все, теперь будут только это использовать)

 

 

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •