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

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

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

Если вы только начинаете вносить свой вклад в 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 в конечном итоге имеет гораздо большее влияние, чем вклад одного человека. Мы не сможем сделать это без вас!

  • Примите меры предосторожности при пометке вещей «Готово к регистрации «

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

  • Ждите обратной связи и отвечайте на полученную обратную связь

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

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

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

  • Наберитесь терпения

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

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

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

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

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