Разработка#
Angie — проект с открытым исходным кодом, поучаствовать в котором могут все.
Исходный код#
Клонировать исходный код Angie можно из наших открытых репозиториев: Mercurial, Git.
Стиль кода#
Вносимые изменения должны сочетаться с остальным кодом Angie; хорошей отправной точкой будет руководство для nginx. При этом учитывайте, что у нас есть заметные отличия, особенно в коде API.
Совет
При сомнениях посмотрите на окружающий код и следуйте его примеру либо запустите grep по базе кода в поисках вдохновения.
Коммит-сообщения#
Исторически коммит-лог ведется на английском языке.
Сообщение начинается с однострочной сводки о проделанной работе. Она может иметь префикс, уже использованный в коммит-логе для этой части кода. Сводка имеет длину до 67 символов включительно; за ней может следовать пустая строка, после которой идут подробности.
В хорошем сообщении указаны причины изменения, что было сделано, и каково положение дел сейчас:
API: bad things removed, good things added.
As explained elsewhere[1], the original API was bad because stuff;
this change was introduced to improve that aspect locally.
Levels of goodness have been implemented to mitigate the badness;
this is now the preferred way to work. Also, the badness is gone.
[1] https://example.com
Детали, которые могли остаться незамеченными:
Резюме кончается точкой и начинается с прописной (большой) буквы.
Если использован префикс, то за ним следует строчная (маленькая) буква.
Предложения в одной строке разделяются двойным пробелом.
Финальные проверки#
Проверьте, что ваши изменения работают на всех целевых платформах.
-
Запустите тесты на всех платформах, чтобы устранить возможность регрессии:
$ cd tests $ prove .
Подробности см. в файле
tests/README
. Убедитесь, что вас устраивают юридические условия.
Куда отправлять патчи#
Сейчас мы не можем напрямую принимать коммиты в свои репозитории, поэтому создайте PR-запрос на нашем зеркале на GitHub.
С вопросами и предложениями обращайтесь к разработчикам через GitHub Issues.