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

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

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

  1. Я познакомлюсь с репозиторием
  2. Я посмотрю, как выглядит процесс PR и слияния, я буду взаимодействовать с другим человеком
  3. Хорошая документация и покрытие юнит-тестами — жизненно важный компонент любого репозитория — представьте себе все ваши любимые библиотеки без хорошего README.md. Откуда вы должны знать, как правильно настроить сервис? Или подумайте о том, чтобы библиотеки постоянно ломались, потому что нет модульных тестов, поэтому новые изменения ломают старый код.
  4. Я сниму этот пластырь застенчивости или, по крайней мере, повредю его. Может быть, со временем его не будет.

Я избегу ошибки прошлого сеанса и не буду так сильно сужать поиск. Я буду искать «тест» и «документацию» как в JavaScript, так и в TypeScript, чтобы освободить место для репозиториев JavaScript, которые хотели бы перейти на TypeScript. Кроме того, я буду использовать страницу «Доступно для захвата», так как чувствую, что в прошлый раз я не отдал ей должного.

Как и планировалось, я использовал доступные теги: документация, TypeScript, JavaScript, юнит-тестирование и юнит-тесты. Мне было очень приятно увидеть много результатов, поэтому я вернулся к своим старым плохим привычкам и выбросил тег JavaScript из окна.

Несмотря на это, примерно через полчаса tldr-pages привлекли мое внимание, главным образом потому, что было отправлено много вопросов, и я подумал, что что-то может быть и для меня!

И о боже! Был ли я прав! ❤

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

Хорошо, но теперь, когда я мысленно принял вызов и не ищу никаких оправданий, чтобы не делать этого, что теперь?

Во-первых, я смотрю, есть ли какой-нибудь файл CONTRIBUTING.md, который появляется в большинстве случаев, но это не данность. Но опять же! Динь-динь-динь, этот репозиторий делает такую ​​потрясающую работу, есть один!

Во-вторых, после ознакомления с руководствами по вкладам и подписания соглашения CLA у меня появилось внутреннее побуждение попробовать назначить себя на тикет, но, как я вижу, в библиотеке это не обычная практика. Первый появился — первый обслужен, если дело доходит до выталкивания изменений. Ну, тогда я лучше испачкаю руки! После разветвления репозитория и его локального открытия в VSCode я понял, что есть руководство по навигации с помощью команд git. Снимаю шляпу!

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

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

Как уже упоминалось, предоставляется документация о том, как внести свой вклад и что обычно ожидается от вас. Я прекрасно руководил, и это исходит от бывшего тестировщика. Я обычно придираюсь, кто говорит: Что вы имеете в виду под добавлением?. Мало того, я только на мгновение остановился при выборе правильной папки. Структура выглядит так:

и интуитивно стал искать pages.en, не особо задумываясь о папке «сырых» страниц. Я быстро понял, что английский язык используется по умолчанию, и это та папка, которую я ищу.

Теперь… давайте поговорим о ошибках, которые я совершил, потому что, конечно же, я их совершал!

Моя первая проблема была с соглашением CLA. Я подписал его с помощью своей учетной записи GitHub и больше не думал об этом после этого. Каково же было мое удивление, когда пайплайн моей выталкиваемой ветки сказал мне, что я ее не подписал! Я подумал, что это какой-то сбой, поэтому я пошел вперед и подписал его снова — это ничего не изменило. Я был очень озадачен, и расследование показало, что электронная почта, которую я использую глобально для фиксации моих изменений, — это та, которую я использую для работы. Почему это было проблемой? Электронная почта, прикрепленная к моей учетной записи GitHub, является моей личной, поэтому при подписании соглашения CLA я подписывала ее с помощью личной электронной почты, а коммит пришел с моей рабочей электронной почты. Из-за этого несоответствия работа не удалась. Я исправил это, изменив свой локальный адрес электронной почты для этого конкретного репозитория через git config user.email "your_email_goes_here”

Уф! Что еще пошло не так? Мои описания на только что созданной странице! Было четко указано, что вместо «показать все» я могу использовать «печать». Когда вы думаете об этом, это имеет смысл. Например, распечатывая свой токен GCP, вы выполняете gcloud auth print-access-token, а не gcloud auth show-access-token.

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

Вот мой пиар, если хотите сами посмотреть!

В целом, это вторая часть журнала «Открытый исходный код в качестве младшего разработчика», и я чувствую себя очень хорошо, что мне удалось найти tldr (кстати, как, черт возьми, я не знал, что он существует? Это такой классный инструмент) . Следующая остановка — попытаться найти аналогичную страницу для участия в модульных тестах, так как я чувствую, что это может быть правильным подходом! Постепенно поднимая планку выше. Я немного задержусь на страницах tldr, они могут стать моим мгновенным источником удовлетворения, особенно там не так много страниц, переведенных на польский язык (я из Польши). Небо - предел с польскими переводами пиара из-за этого! ❤

Уроки:

  • Перейдите на tldr pages, чтобы внести свой первый вклад. Если нет возможности сделать новую страницу, переведите что-нибудь на свой родной язык! Если ваш родной язык английский, может быть, какие-то из уже существующих страниц нужно поднять?
  • Вы можете изменить user.email для каждого репозитория через git config user.email "your_email_goes_here”
  • Старайтесь не терять фокус при чтении документации по вкладу.

Мысли:

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