Нажимая “Принять все файлы cookie”, вы соглашаетесь на сохранение файлов cookie на вашем устройстве с целью улучшения навигации по сайту, анализа использования сайта и помощи в наших маркетинговых усилиях. Подробнее
Настройки cookie
Нажимая “Принять все файлы cookie”, вы соглашаетесь на сохранение файлов cookie на вашем устройстве с целью улучшения навигации по сайту, анализа использования сайта и помощи в наших маркетинговых усилиях. Подробнее
Узнайте, как внести свой вклад в проекты Ultralytics с открытым исходным кодом, и изучите лучшие советы, касающиеся документации, рецензирования PR и использования основных инструментов.
Основой программного обеспечения с открытым исходным кодом является сотрудничество, обучение и обмен знаниями. Проекты с открытым исходным кодом — отличный способ для людей объединиться, чтобы построить что-то большее, чем они сами. В Ultralytics мы близко к сердцу принимаем принципы открытого исходного кода и всегда призываем вас вносить свой вклад в наши проекты с открытым исходным кодом.
Если вы хотите внести свой вклад, будь то написание документации, проверка кода или решение проблем, но не знаете, с чего начать, или сталкиваетесь с какими-либо проблемами, мы здесь, чтобы помочь вам начать. В этой статье мы расскажем о нескольких советах, которые помогут вам начать вносить свой вклад в проекты Ultralytics с открытым исходным кодом. Давайте сразу приступим!
Важность вклада сообщества Ultralytics
Прежде чем мы рассмотрим, как внести свой вклад, давайте ответим на вопрос, почему вклад так важен. Мы твердо верим в важность вклада сообщества Ultralytics. Участвуя в наших проектах с открытым исходным кодом, вы делаете больше, чем просто помогаете нам создавать лучшее программное обеспечение. Участники играют ключевую роль в обеспечении того, чтобы наша технология оставалась открытой, основанной на сотрудничестве и постоянно развивающейся. Ваши вклады поддерживают процветание наших проектов, делают их доступными и полезными для пользователей и разработчиков по всему миру!
Помимо создания передового программного обеспечения, участие в проектах Ultralytics — это также прекрасная возможность для вашего развития. Вы можете развивать свои навыки программирования, решения проблем и работы в команде, работая вместе с опытными разработчиками, которые могут предложить руководство и поделиться передовым опытом. Ваши усилия могут оказать реальное влияние на инструменты, используемые тысячами людей по всему миру. Взаимодействие с нашим сообществом также может помочь вам расширить свою профессиональную сеть, открыть новые возможности и улучшить свое портфолио, чтобы выделиться среди работодателей.
Рис. 1. Причины для участия в Open Source. Изображение автора.
С чего начать участие в Open-Source проектах Ultralytics
Начать стоит с ознакомления с официальным руководством Ultralytics для контрибьюторов. В нем собраны лучшие практики и советы, которые помогут вам максимально эффективно использовать свои вклады. Первым шагом будет ознакомление с тем, что уже является частью проекта, путем изучения правил участия и погружения в код.
Если вы хотите внести свой вклад в разработку или просто изучить последний код, следующим шагом будет клонирование репозитория Ultralytics. Как только вы это сделаете, вы можете перейти в каталог проекта и установить пакет в редактируемом режиме, как показано в фрагменте кода ниже.
После настройки среды и ознакомления с проектом, вы можете изучить различные области, в которых вы можете внести значимый вклад. Ultralytics предлагает несколько способов принять участие, и вы можете выбрать, как внести свой вклад, исходя из ваших навыков и интересов.
Вот обзор некоторых опций:
Документация: Вклад в документацию — отличный способ погрузиться в проект, оттачивая свои навыки письма. Вы можете помочь, улучшая существующую документацию, добавляя недостающие детали или создавая новые руководства, которые облегчат другим внесение своего вклада.
Исправление ошибок: Если у вас есть опыт программирования, подумайте о том, чтобы заняться исправлением ошибок. Это может варьироваться от незначительных корректировок до более сложных проблем, что даст вам возможность внести ощутимый вклад в проект.
Улучшения функциональности: Для тех, кто готов углубиться, работа над улучшениями функциональности может быть одновременно сложной и полезной. Это может включать добавление новых функций, улучшение существующих или работу над планом развития проекта.
Проверка запросов на внесение изменений (pull request reviews): Проверка запросов на внесение изменений - еще один ценный способ внести свой вклад, особенно если вы знакомы со стандартами и передовыми практиками проекта. Предоставляя обратную связь и предлагая улучшения, вы помогаете поддерживать качество и целостность кодовой базы.
Обсуждения в сообществе: Участие в обсуждениях в сообществе — отличный способ внести свой вклад, если вам нравится сотрудничать и делиться идеями. Участвуйте в текущих беседах, предлагайте новые идеи или помогайте другим, предлагая свои идеи и решения.
Каждая из этих областей предлагает уникальный способ внести свой вклад, и вы можете выбрать ту, которая лучше всего соответствует вашим сильным сторонам и интересам. Помните, что каждый вклад, каким бы малым он ни был, играет ключевую роль в росте и развитии Ultralytics.
Рис. 2. Каждый вклад ценится в нашем растущем сообществе. Источник изображения: Envato Elements.
Вклад в документацию Ultralytics с открытым исходным кодом
При внесении вклада в документацию Ultralytics обязательно ознакомьтесь с существующей документацией и проверьте наличие проблем или обсуждений, в которых выделены области, нуждающиеся в улучшении. Это поможет вам сосредоточить свои усилия там, где они наиболее необходимы.
При написании или редактировании важно помнить, что необходимо следовать рекомендациям проекта для поддержания единообразия. Вот несколько советов по форматированию:
Начинайте каждый документ с четкого введения и используйте простой и доступный язык.
Используйте маркеры для списков, описательный текст для ссылок и изображения размером менее 1 МБ, чтобы страницы загружались быстро.
Если у вас возникнут вопросы по форматированию, самый простой способ перепроверить его — посмотреть, как форматировалась предыдущая документация.
Рис. 3. Пример форматирования Markdown (слева) и визуализированный конечный документ (справа). Изображение автора.
После того, как вы сделали черновик, важно просмотреть его, создав документацию локально. Вы можете выявить любые проблемы перед отправкой. Для этого начните с клонирования репозитория и перехода в каталог проекта:
Далее вы можете установить необходимые зависимости:
Наконец, запустите документацию локально, чтобы просмотреть изменения:
Вы можете просмотреть локально созданную документацию, перейдя по адресу `http://127.0.0.1:8000/` в своем веб-браузере.
После проверки на ясность, точность и последовательность вы можете отправить запрос на внесение изменений (pull request) с четким описанием созданного вами документа. Обязательно поместите документ в соответствующий раздел, исходя из того, где он лучше всего подходит (руководства, решения, интеграции и т. д.). Пожалуйста, также ознакомьтесь с файлом index.md для соответствующих разделов и общим файлом mkdocs.yml и внесите необходимые обновления. Внимание к деталям поможет упростить процесс проверки и гарантировать, что ваш вклад будет хорошо интегрирован в проект.
Что следует помнить, внося вклад в код с открытым исходным кодом
При внесении вклада в код проекта Ultralytics важно следовать передовым практикам, которые помогают гарантировать, что ваш код является чистым, удобным в обслуживании и простым в интеграции. Вот несколько ключевых моментов, которые следует учитывать:
Избегайте дублирования кода: По возможности повторно используйте существующий код и минимизируйте ненужные аргументы.
Вносите небольшие, целенаправленные изменения: Сосредоточьтесь на небольших, целенаправленных изменениях, а не на крупных модификациях.
Упростите или удалите код: Ищите возможности упростить код или удалить ненужные части.
Пишите эффективные docstrings: Четко объясните, что делает ваш код, и дайте ссылки на соответствующие ресурсы.
Избегайте ненужных зависимостей: Добавляйте зависимости только в том случае, если они абсолютно необходимы.
Рис. 4. Лучшие практики документирования исходного кода.
Также важно учитывать долгосрочную поддержку кодовой базы. Прежде чем вносить какие-либо изменения, спросите себя, не сломают ли ваши изменения существующий код Ultralytics. Если да, подумайте, как это исправить, и убедитесь, что ваши изменения максимально совместимы.
После того, как вы разработали фрагмент кода для внесения вклада, вам нужно будет протестировать его. Вы можете использовать такие фреймворки, как pytest, для тестирования ваших изменений перед их отправкой. Последовательное форматирование кода - еще один аспект вашего вклада, который очень важен. Такие инструменты, как Ruff Formatter , могут помочь вам поддерживать стилистическую согласованность и обнаруживать любые логические ошибки или несоответствия в вашем коде.
Рассмотрение запросов на включение изменений
Рассмотрение запросов на включение изменений (PR) — отличный способ внести свой вклад! PR создается, когда кто-то запрашивает слияние своих изменений с основным проектом. Это помогает поддерживать бесперебойную работу проекта Ultralytics. При рассмотрении PR убедитесь, что вы понимаете, зачем были внесены изменения. Автор должен четко объяснить цель и преимущества обновления, и вы должны увидеть доказательства тщательного тестирования в их PR.
Давайте рассмотрим несколько ключевых моментов, на которых следует сосредоточиться.
Проверьте наличие юнит-тестов: Убедитесь, что PR включает тесты для новых функций или изменений, чтобы подтвердить, что код работает должным образом и не вызывает проблем.
Просмотрите обновления документации: Убедитесь, что документация обновлена с учетом изменений или новых функций, включая примеры, ссылки на API и другие соответствующие сведения.
Оцените влияние на производительность: Учитывайте, как изменения влияют на производительность. При необходимости запросите сравнительные тесты производительности или дополнительное тестирование.
Проверка тестов CI: Убедитесь, что все тесты непрерывной интеграции (CI) пройдены, включая проверки форматирования кода и результаты модульных тестов.
Совместная работа над исправлениями: Если какие-либо тесты не пройдены, поработайте с автором, чтобы решить проблемы, прежде чем утверждать PR.
В качестве рецензента обязательно предоставляйте конкретные и четкие отзывы о любых проблемах или опасениях. Предлагайте предложения по улучшению и задавайте вопросы, которые помогут автору продумать потенциальные проблемы. Призывайте их следовать передовым практикам в кодировании, тестировании и документировании и не стесняйтесь указывать им на ресурсы, которые могут помочь. И последнее, но не менее важное: всегда признавайте усилия, которые автор вложил в PR. Положительные отзывы помогают поддерживать дружелюбную и совместную атмосферу в сообществе открытого исходного кода.
Вклад – это прежде всего сообщество
Участие в проектах с открытым исходным кодом, таких как Ultralytics, может дать вам вдохновляющее чувство общности. Независимо от того, пишете ли вы код, проверяете PR, обновляете документацию или участвуете в обсуждениях, каждое усилие помогает проекту расти и развиваться. Ответы на вопросы или участие в беседах, будь то на GitHub, Discord, Subreddit или других форумах, — это ценный способ внести свой вклад и пообщаться с другими. Помните, что ваш вклад, каким бы малым он ни был, оказывает значительное влияние и помогает создать среду сотрудничества и поддержки для всех участников!
В Ultralytics мы увлечены продвижением инноваций в сообществе открытого исходного кода. Будьте в курсе наших последних разработок, посетив наш репозиторий GitHub. Присоединяйтесь к нашему активному сообществу и узнайте, как мы оказываем влияние на такие отрасли, как сельское хозяйство и производство.