С wdyd и другими платформами

Иногда, работая в команде или организации с открытым исходным кодом, вы можете ошибиться в написании сообщения или допустить ошибки в коммитах вашего репозитория. Эти ошибки могут распространяться по кодовой базе огромного продукта или технического стека.

Для меня очень важно быть полностью прозрачным на стороне кодирования, быть коммуникативным и описательным при разработке проекта, продукта или даже утилиты, написанной разработчиками для разработчиков.

В этой статье мы поговорим об обычных коммитах, о том, что важно, и о том, как написать хорошее сообщение коммита, чтобы иметь полный контроль над кодовой базой.

Я создал простой проект, чтобы помочь новым разработчикам/студентам приблизиться к обычным коммитам в своих или профессиональных проектах.

Что такое обычные коммиты?

Это спецификация, чтобы иметь удобочитаемое сообщение коммита для человека. Он предоставляет простой набор правил для создания явной истории коммитов, объявляя область действия, связывая проблему/историю/ошибку и добавляя некоторые ключевые слова в тему/сообщение или нижний колонтитул ваших коммитов.

Вот пример сообщения фиксации с описанием и нижним колонтитулом критических изменений:

feat: разрешить предоставленному объекту конфигурации расширять другие конфигурации

Почему вы должны применять обычные правила коммитов?

Более описательный код даст вам следующие преимущества:

  • Вы можете автоматически создавать отличные журналы изменений в своих проектах и ​​семантически определять изменение версии.
  • Будет легче определить характер изменений в командах, используя некоторые основные ключевые слова (feat, chore, revert и т. д.).
  • Используя хэштеги, вы можете инициировать рабочий процесс (например, закрытие проблем или историй).
  • Упростите присоединение сторонних людей к команде, чтобы они могли начать вносить свой вклад после небольших усилий по адаптации.

Как работает Wdyd

Пакет npm, wdyd, был создан как инструмент поддержки и полезности, чтобы опробовать стандартный стандарт коммитов и внедрить его в свои проекты. Он также более удобен для новичков в индустрии разработки программного обеспечения.

Сценарий узла копирует и форматирует сообщение, принимая ценный пользовательский ввод. Имеет два режима: ручной и интерактивный.

Для начала вам необходимо установить пакет глобально, используя следующую команду:

npm i -g wdyd

Интерактивный режим

Используя пакет inquirer, пользователю будет предложено пару вопросов о характере его изменений, а выбрав тип, утилита шаг за шагом создаст сообщение фиксации с вами. Кому-то было бы легко впервые подойти к такому сообщению, используя интерактивный режим.

Вопросы будут:

  • Выберите тот, который соответствует вашим изменениям. Что ты сделал? (обязательный)
  • На какой сфере вы сосредоточились? (обязательный)
  • Опишите свое изменение в императивной форме (обязательно)
  • Включите мотивацию для изменения и сравните ее с предыдущим поведением.
  • Тип Нижний колонтитул должен содержать любую информацию о критических изменениях, а также является местом для ссылки на проблемы GitHub, которые закрывает эта фиксация.

Ручной режим

Предназначен для разработчиков среднего и старшего уровня (да, никто не должен прекращать учиться). В этом случае вы можете запустить wdyd -h, чтобы получить всю информацию о командах, которые вы можете запустить. На следующем изображении вы можете увидеть список возможных команд, которые вы можете запустить:

Вы можете запустить следующее:

wdyd e2e «тесты страницы входа» «После проблемы № 34 по тестированию мы теперь покрываем 93% кода»

Чтобы зафиксировать реализацию e2e на вашей странице входа, которая связана с проблемой № 34.

Как написать хорошее коммит-сообщение

Вы можете получить полную спецификацию на обычном веб-сайте коммитов, но вот несколько важных советов, которые следует учитывать при написании сообщения коммита.

Любая фиксация должна иметь тип с префиксом, например feat, fix или chore, чтобы идентифицировать контекст изменений. Если вы вносите критическое изменение в кодовую базу, вам нужно указать ! сразу после типа.

Область в скобках сразу после слова с префиксом должна быть вставлена, когда у нас есть короткое сообщение или область проекта, связанная со всеми изменениями, внесенными в коммиты, например: feat(signin) или fix(product-page).

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

исправлено: проблема с анализом объекта при передаче значений, допускающих значение NULL

После краткого описания может быть предоставлено более длинное тело коммита, предоставляющее дополнительную контекстную информацию об изменениях кода, например:

Страница выдавала фатальную ошибку и блокировала поток навигации пользователя. Теперь мы регистрируем ошибку и больше не блокируем поток пользователей.

Если что-то внутри ваших коммитов является критическим изменением, например прекращением поддержки или изменением зависимости, хорошо записать это в нижнем колонтитуле нашего сообщения о коммите. Использование BREAKING-CHANGE поможет выделить то, что мы изменили. Например:

ВАЖНОЕ ИЗМЕНЕНИЕ: значения, не допускающие значения NULL, теперь выдают только предупреждающее сообщение, а не фатальную ошибку.

Так, например, наше сообщение коммита должно быть составлено так:

fix!(product-page): проблема разбора объекта при передаче значений, допускающих значение NULL

Страница возвращала фатальную ошибку и блокировала поток навигации пользователя. Теперь мы регистрируем ошибку и больше не блокируем поток пользователей.

ВАЖНОЕ ИЗМЕНЕНИЕ: значения, не допускающие значение NULL, теперь выдают только предупреждающее сообщение, а не фатальную ошибку.

Заключение

При работе в команде или сотрудничестве с другими всегда полезно иметь рекомендации или правила в нашем коде и особенно в нашей кодовой базе для лучшего общения.

Обычные коммиты используются многими людьми и компаниями. Этот инструмент представляет собой простую реализацию, помогающую другим разработчикам или людям понять логику и улучшить взаимодействие в своей команде.