Сообщения Better Commit

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

По словам нескольких инженеров, с которыми я разговаривал, первое, на что обращает внимание потенциальный инженер-работодатель, - это ваши сообщения о коммитах. Коммуникация - такой важный компонент процесса разработки программного обеспечения, и неразборчивые или расплывчатые сообщения о фиксации могут значительно замедлить процесс. Как будущий разработчик, ваш менеджер будет проверять ваши сообщения о фиксации и запросы на вытягивание перед объединением вашей функциональной ветки в master. Расплывчатые сообщения о фиксации приводят к потере времени, поскольку ваш менеджер сначала пытается понять, что вы делаете в своем коде, а не проверяет его на предмет стиля, удобочитаемости, производительности и т. Д.

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

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

Попав в корневую папку, вы захотите отредактировать свой .gitconfig файл, чтобы он открывал ваш шаблон сообщения фиксации при каждом запуске git commit. Также важно отметить, что эта новообретенная дисциплина с сообщениями фиксации означает редко (если вообще когда-либо) использование флага -m и запись сообщений фиксации в терминале, то есть git commit -m "my test message". Вместо этого, всякий раз, когда вы запускаете git commit, он открывает текстовый редактор, в котором вы можете составить сообщение фиксации, используя формат, установленный в .gitmessage.

Итак, давайте отредактируем ваш .gitconfig файл для поддержки нашего нового шаблона. По умолчанию файл обычно скрыт и может находиться в скрытом .git каталоге в зависимости от настроек Git на вашем компьютере. Найдя файл и открыв его, вам нужно добавить в файл следующие строки:

[commit]   
  template = ~/.gitmessage

Эта строка в основном указывает Git искать .gitmessage файл в корневой папке всякий раз, когда вы собираетесь совершить фиксацию. Следующим шагом является создание файла .gitmessage и добавление содержимого вашего шаблона. Вы можете быстро создать файл, выполнив следующую команду Терминала в корневом каталоге:

touch .gitmessage

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

  1. Почему это изменение необходимо?
  2. Как это решить проблему?
  3. Какие побочные эффекты есть у этого изменения?

Опять же, у Thoughtbot есть отличные ресурсы, которые более подробно описывают эту логику. Я включу их в конце статьи. Пытаясь ответить на предыдущие вопросы, я включил следующую структуру в свои сообщения о фиксации:

# Title:
# Link to User Story
# Brief description
# Bullet point description
# Answer why the change is necessary
# How I address the issue
# What side effects the change has
# 50-character subject line
# 72-character wrapped longer description.

Я добавил несколько комментариев, которые напоминают мне о передовых методах работы. Каждый раз, когда я запускаю git commit, появляется это сообщение, прежде чем я могу отправить свои изменения. Вот реальный пример сообщения о фиксации, которое я написал недавно при создании своего сайта-портфолио:

WIP: Started Building User Component
https://trello.com/c/D3uMPuu2/2-create-user-component

I started work on the user component, but I need to finish a few more things before I can merge the branch. I added an avatar, a short description, and created the divs that comprise the page layout. I also deleted a bunch of files related to Le Wagon's default template.

* configured materialize gem
* removed Le Wagon navbar
* added partials corresponding to future components (projects, cv, user)
* removed Le Wagon default images
* added personal avatar
* created divs to layout page content
* placed divs within responsive grid
* positioned avatar within user component
* positioned description content within user component
* removed bootstrap sass variables

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

Связанное чтение