И рассказ о том, как они сделали меня лучшим инженером

Сегодня я хочу уделить время, чтобы поделиться с вами одной из моих самых любимых функций Github - черновиками запросов на извлечение. Я активно использую их в своем процессе разработки около 12 месяцев.

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

Предпосылки

Я подхожу к этой теме с предположением, что вы знакомы с базовым потоком разработки Github. Если это не так, я предлагаю вам потратить время на то, чтобы ознакомиться с ним. Поверьте, вы не пожалеете.

Введение

Вот список характеристик, применимых к обычным запросам на вытягивание:

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

Теперь давайте посмотрим на характеристики, которые делают черновики запросов на вытягивание уникальными:

  • они явно помечают ваши изменения кода как «незавершенные»
  • они не могут быть напрямую объединены в основную ветку

Значение черновиков PR

Когда вы открываете пулреквест и устанавливаете его статус как «черновик», вы фактически делаете следующее заявление своим товарищам по команде:

Привет, коллеги!
Как вы знаете, в настоящее время я работаю над решением проблемы X. Вот код, который я написал до сих пор. Да, я знаю, что моя реализация еще далека от завершения, поэтому я еще не готов открывать PR для проверки. Тем не менее, я хотел бы получить ваши отзывы и идеи о подходе, который я планирую использовать.

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

Как черновики PR помогли мне стать лучшим инженером

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

Работа с черновиками PR помогла мне изменить мое мышление. Видите ли, теперь у меня появился способ опубликовать свою работу и пометить ее как выполняющуюся. Это автоматически сняло давление, которое я ранее оказывал на себя. Мне больше не нужно было «создавать» «идеальный» код, прежде чем позволить моим коллегам взглянуть на него.

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

Так что я начал радоваться возможности делиться своей работой с другими. Меня больше не волновало, была ли моя «лучшая реализация» из когда-либо написанных. Я просто хотел учиться и расти как инженер, получая как можно больше отзывов и отзывов от моих товарищей по команде.

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

Вывод

Как вы, наверное, догадались, я яростный сторонник использования черновых PR. Я на собственном опыте убедился в их положительном влиянии на меня и моих товарищей по команде. Вот почему я рекомендую их проверить. Они могут быть вам полезны или нет. Но как мне всегда говорит мой наставник - никогда не пробуй, никогда не знаешь;)