Как внести свой вклад в проект Python с открытым исходным кодом

Как внести свой вклад в проект Python с открытым исходным кодом Изучение

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

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

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

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

Поиск проекта с открытым исходным кодом

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

GitHub имеет определенные репозитории со значком «awesome-projects», которые служат коллекцией проектов с открытым исходным кодом, относящихся к определенной категории. Например, репозиторий «awesome-projects» по предмету астрономия.

Этот тщательно подобранный список проектов объединяет не только астрономическое программное обеспечение с открытым исходным кодом, но и такие объекты, как блоги, наборы данных и т.д. В разделе » Коды» мы видим список астрономических проектов, классифицированных по астрономическим проектам с упором на определенные подполи.

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

Опять же, в зависимости от ваших конкретных наклонностей и знаний в предметной области, конкретные проекты с открытым исходным кодом, на которые вы наткнетесь, будут различаться, но процесс просмотра существующего каталога вариантов останется неизменным. Значок «awesome-projects» присваивается многим другим проектам в других доменах, и стоит проверить другие проекты на GitHub, у которых есть этот значок.

Все они организованы в основном репозитории «awesome-projects» и имеют проекты во множестве других категорий.

Ознакомьтесь с проектом

Как только вы найдете проект, который соответствует вашим интересам и навыкам, следующим шагом будет понимание того, насколько велик и насколько активен проект.

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

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

ыл заброшен или заменен другим проектом

Неактивный проект

Как вариант, вот пример более активного проекта. Обратите внимание, что некоторые файлы не были обновлены. Это обычное дело, особенно для некоторых файлов, которые не ожидаются кардинальных изменений в течение жизненного цикла проекта, таких как файлы.gitignore.

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

возможно, больше подходит для внесения вклада

Активный проект

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

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

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

Сделайте себе чашку крепкого кофе и почитайте!

Изолировать задачу

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

На вкладке «Проблемы» содержатся известные ошибки, а также запросы на новые функции и улучшения. Некоторые проекты также помечают определенные ошибки или функции специальными ярлыками, указывающими на то, что они были бы идеальным «первым PR (запрос на вытягивание)».

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

Читайте также:  10 лучших IDE для Java в 2021 году

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

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

Создание запроса на вытягивание

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

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

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

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

Итерация по отзывам

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

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

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

Подведение итогов

Поздравляю! Надеюсь, вы использовали этот процесс, чтобы внести свой уникальный набор навыков и знаний, чтобы сделать мир немного ярче. Или, возможно, вы с головой погрузились в свой первый запрос на включение, о том, что будет интересным карьерным путем.

Оцените статью
bestprogrammer.ru
Добавить комментарий