Советы начинающим вкладчикам¶
Новый вкладчик и не знаете, что делать? Хотите помочь, но не знаете, как начать? Этот раздел для вас.
Основные инструменты и рабочий процесс
Если вы только начинаете вносить свой вклад в 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, и должен иметь документацию и тесты», мы имеем в виду именно это. Если у патча нет документации и тестов, то на это должна быть веская причина. Аргументы типа «Я не смог найти ни одного существующего теста этой функции» не имеют большого веса - хотя это может быть правдой, это означает, что у вас есть очень важная работа по написанию самых первых тестов для этой функции, а не то, что вы получаете освобождение от написания тестов вообще.
ЧАСТО ЗАДАВАЕМЫЕ ВОПРОСЫ¶
Этот билет, который меня волнует, игнорируется уже несколько дней/недель/месяцев! Что я могу сделать, чтобы он был принят к исполнению?
Во-первых, в этом нет ничего личного. Django полностью разрабатывается добровольцами (за исключением Django fellow), и иногда у людей просто нет времени. Лучше всего послать мягкое напоминание в список рассылки django-developers с просьбой рассмотреть тикет, или поднять этот вопрос в IRC-канале #django-dev.
Я уверен, что мой билет абсолютно на 100% безупречен, могу ли я сам отметить его как RFC?
Короткий ответ: Нет. Всегда лучше посмотреть на билет другими глазами. Если у вас проблемы с получением второго взгляда, см. вопрос 1 выше.