Советы начинающим вкладчикам

Новый вкладчик и не знаете, что делать? Хотите помочь, но не знаете, как начать? Этот раздел для вас.

Приступайте к работе!

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

Эта страница содержит более общие советы о том, как вы можете внести свой вклад в Django, и как к этому подойти.

Если вы ищете справочник по деталям внесения кода, обратитесь к документации Добавляющий код.

Первые шаги

Начните с этих шагов, чтобы познакомиться с процессом разработки Django.

Билеты на сортировку

Если unreviewed ticket сообщает об ошибке, попробуйте воспроизвести ее. Если вы можете воспроизвести ошибку и она кажется достоверной, сделайте пометку, что вы подтвердили ошибку, и примите тикет. Убедитесь, что билет подан в правильную область компонента. Рассмотрите возможность написания патча, добавляющего тест на поведение ошибки, даже если вы не исправляете саму ошибку. Смотрите больше на Как я могу помочь с сортировкой?

Просмотрите исправления к принятым билетам

Это поможет вам лучше ознакомиться с кодовой базой и процессами. Отметьте соответствующие флажки, если для исправления требуются документы или тесты. Просмотрите изменения, внесенные патчем, и обратите внимание на синтаксис, несовместимый с более старыми, но все еще поддерживаемыми версиями Python. Run the tests и убедитесь, что они соответствуют требованиям. Если это возможно и уместно, попробуйте их в базе данных, отличной от SQLite. Оставляйте комментарии и отзывы!

Поддерживайте актуальность старых исправлений

Зачастую кодовая база меняется в период между отправкой исправления и его рассмотрением. Убедитесь, что патч по-прежнему применяется чисто и функционирует так, как ожидается. Обновление патча - это и полезно, и важно! Смотрите больше на Представление материалов

Напишите какую-нибудь документацию

Документация Django великолепна, но ее всегда можно улучшить. Вы нашли опечатку? Вы считаете, что что-то должно быть разъяснено? Давайте, предложите исправление документации! Смотрите также руководство по Написание документации.

Примечание

В reports page содержатся ссылки на множество полезных запросов Trac, включая несколько, полезных для сортировки тикетов и проверки патчей, как было предложено выше.

Подпишите лицензионное соглашение с участником

Код, который вы пишете, принадлежит вам или вашему работодателю. Если ваш вклад составляет более одной-двух строк кода, вам необходимо подписать CLA. См. Contributor License Agreement FAQ для более подробного объяснения.

Руководящие принципы

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

Выберите предметную область

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

Анализ контекста и истории заявок

Trac не является абсолютом; контекст так же важен, как и слова. Читая Trac, вы должны принимать во внимание, кто и когда говорит те или иные вещи. Поддержка идеи два года назад не обязательно означает, что эта идея будет поддерживаться и сейчас. Вам также нужно обратить внимание на то, кто не говорил - например, если опытный контрибьютор не был недавно вовлечен в обсуждение, то билет может не иметь поддержки, необходимой для работы с Django.

Начните с малого

Легче получить обратную связь по маленькому вопросу, чем по большому. Смотрите easy pickings.

Подтвердите поддержку, прежде чем приступать к выполнению важной задачи

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

Будьте смелее! Оставьте отзыв!

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

Будьте осторожны, когда готовите вещи «К заселению».

Если вы действительно не уверены, готов ли билет, не отмечайте его как таковой. Вместо этого оставьте комментарий, чтобы другие пользователи узнали о ваших мыслях. Если вы в основном уверены, но не до конца, вы также можете попробовать задать вопрос на канале #contributing-getting-started в разделе Django Discord server, чтобы узнать, может ли кто-нибудь еще подтвердить ваши подозрения.

Ждите отзывов и отвечайте на них, которые вы получите

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

Будьте строги

Когда мы говорим «PEP 8 и должны содержать документы и тесты», мы имеем в виду именно это. Если в патче нет документов и тестов, на это должна быть веская причина. Аргументы типа «Я не смог найти ни одного существующего теста для этой функции» не имеют большого значения. Хотя это может быть правдой, это означает, что вам предстоит чрезвычайно важная работа по написанию самых первых тестов для этой функции, а не то, что вы вообще отказываетесь от написания тестов.

Будьте терпеливы

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

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

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

Наконец, может помочь своевременное напоминание. Идеи см. здесь contributing code FAQ

Вернуться на верх