Приглашаем вас внести свой вклад в проект Apollo. Для этого, пожалуйста, сначала примите [индивидуальное лицензионное соглашение участника Apollo] (https://gist.githubusercontent.com/startcode/f5ccf8887bfc7727a0ae05bf0d601e30/raw/029a11300e987e34a29a9d247ac30caa7f6741a7/Apollo_Individual_Contributor_License_Agreement).
Вы можете следовать стандартному подходу Github, чтобы отправить код. Также есть подробное руководство «Как создать запрос на вытягивание» на английском и китайском.
Есть задачи с меткой «требуется помощь», которые помогут вам начать работу.
Если вы уже работаете над задачей, оставьте сообщение, чтобы люди знали, что вы работаете над ней.
Прежде чем отправлять запрос на проверку, убедитесь, что ваши изменения соответствуют следующим рекомендациям: лицензия, тестирование и стиль кодирования.
Для каждого нового файла добавьте лицензию в начало файла.
Пример лицензии для кода на C++: util.h;
Пример лицензии для Python-кода: process.py;
Пример лицензии для Bash-кода: apollo_base.sh.
Добавьте модульные тесты для предоставленного кода, чтобы доказать, что ваш код работает правильно, и убедитесь, что ваш код не нарушает существующие тесты. Файлы тестов всегда имеют название, оканчивающееся на _test.cc
, а имена целевых тестов в файле BUILD всегда заканчиваются на test
. Вот пример тестового файла file_test.cc.
Вы можете использовать команду bash apollo.sh test
для запуска всех модульных тестов.
Стиль кодирования C/C++: Apollo принял Руководство по стилю Google C++. Убедитесь, что ваш код соответствует этому руководству. Вы можете использовать команду bash apollo.sh lint
, чтобы проверить, есть ли у вашего кода проблемы со стилем.
Стиль программирования на Python: Apollo принял руководство по стилю программирования Google Python. Вы можете использовать команду yapf yapf -i --style='{based_on_style: google}' foo.py
, чтобы отформатировать файл foo.py.
Лучшие практики кодирования Apollo: также обратитесь к лучшим практикам кодирования Apollo, чтобы узнать больше о дисциплинах кодирования.
Стиль оформления файлов BUILD: вы можете использовать команду bash apollo.sh format path/to/BUILD/files
, чтобы отформатировать файлы BUILD перед отправкой.
Если ваш код сложен для понимания другими участниками, рекомендуется реализовать код в ясной и эффективной форме и предоставить достаточные комментарии и документацию. Apollo использует doxygen для создания форматированного API-документа с помощью команды bash apollo.sh doc generate
. Чтобы задокументировать свой код, следуйте руководству: Как документировать код.
Первая строка сообщения фиксации должна быть однострочным резюме изменения. После резюме можно добавить абзац, чтобы чётко объяснить детали изменения. Если ваш код исправил проблему, добавьте номер проблемы в сообщение фиксации. Пример хорошего сообщения фиксации:
Control: Заменил алгоритм A на алгоритм B в modules/control.
Алгоритм B быстрее, чем A, потому что он использует бинарный поиск. Время выполнения сократилось с O(N) до O(log(N)).
Исправлено #1234
После того как вы закончите свой код и будете готовы создать запрос на вытягивание, убедитесь, что ваше изменение не нарушит сборку/тестирование/линтинг, выполнив следующие действия: bash apollo.sh check,
что эквивалентно комбинации команд bash apollo.ш build
,
bash apollo.ш test
и bash apollo.ш lint
.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )