Качественный код - поддерживаемый (модифицируемый) код. Для этого он должен быть понятен еще кому нибудь кроме автора.
- В описании запроса дожно быть описание и обоснование предложенных изменений.
- В описании запроса должна быть ссылка на Issue. Если вы нашли новый баг или придумали новый функционал, то следует завести новое issue.
- Каждый коммит в запросе должен содержать коментарий с описанием правки.
- Финальный коммит запроса:
- Должен компилироваться.
- Должен запускаться.
- Не должен содержать проваленных или игнорируемых тестов.
- Не должен содержать TODO комментариев.
- Правка по изменению форматирования кода должна быть отделена в отдельный коммит с соответствующим комментарием.
- Правка с изменением функционала, не должна содержать изменений в форматировании кода.
- Каждую строку diff надо быть готовым обосновать. Не можешь этого сделать - выкинь ее из запроса.
- Codestyle священен. Код в проекте может крив, но код в запросе обязан ему соответсвовать. (следовательно, принимаются запросы состоящие только с правками Codestyle)
- Править можно все файлы проекта включая требования.
- Требования по форматированию кода используются с RSDN
- перед отправкой запроса:
- проверьте каждый commit, просмотрите diff-ы, проверьте соответствие описания.
- запустите проект.
- запустите тесты.
- оцените удобство просмотра кода.
- всегда можно пересобрать историю коммитов в запросе с помощью rebase (также полезен ключ interactive)