Руководство разработчика Varnish
Это преднамеренно короткий и по существу список вещей, которые разработчики Varnish должны знать.
Поведение
- Будьте разумны.
- Если сомневаетесь, подумайте.
- Если всё ещё сомневаетесь, спросите.
- Признавайте свои ошибки, так быстрее.
- Не нужно красить беседки.
- Мы выбросим вас из проекта, вместо того, чтобы добавлять ещё одно правило.
Технические моменты
- Наше руководство по стилю кодирования — это руководство FreeBSD style(9)
- См. скрипт autogen.des для параметров разработчика для инструментальной цепочки.
- Мы всегда используем -Werror; нет безвредных предупреждений, только исходный код, который недостаточно хорошо выражает намерения.
- Мы предпочитаем, чтобы исходный код, а не комментарии, объясняли, что происходит, так инструменты, такие как FlexeLint и Coverity, тоже получат шанс.
- Наши эталонные платформы — Ubuntu и FreeBSD.
- Утверждения имеют отрицательную стоимость; они экономят время разработчика в будущем.
- Наша лицензия — BSD 2-clause или менее строгая, без GPL или LGPL.
- Первый серьёзный вопрос безопасности возник через 11 лет, и это произошло слишком рано.
Ошибки, проблемы, запросы функций и VIP-пользователи
Ошибки, проблемы и запросы функций начинаются как вопросы на github.
По понедельникам в 15:00-16:00 (по времени ЕС) мы проводим «мойку багов» в IRC (#varnish-hacking на irc.linpro.no), чтобы решить, кто и как будет работать с проблемами.
Проблемы, с которыми мы ничего не можем сделать, закрываются.
Если запросы функций разумны, они перемещаются на страницу вики/VIP-страницы до тех пор, пока их кто-то не реализует.
Тесты Varnishtest для ошибок являются нормой, а не исключением.
Архитектурные моменты
Эти правила взяты из проекта X11:
- Также важно определить, чего система не делает, как и определить, что она делает.
- Не нужно удовлетворять все потребности мира; лучше сделать систему расширяемой, чтобы дополнительные потребности могли быть удовлетворены с сохранением обратной совместимости.
- Хуже всего обобщать по одному примеру; обобщать без примеров ещё хуже.
- Если проблема не полностью понята, лучше всего не предлагать никакого решения.
- Если можно получить 90 процентов желаемого эффекта за 10 процентов работы, используйте более простое решение.
- Изолируйте сложность по возможности.
- Обеспечьте механизм, а не политику.
Различные политики
Главная страница varnish-cache.org
Метаданные проекта
Copyright © 2006 Verdens Gang AS
Copyright © 2006–2020 Varnish Software AS
Licensed under the BSD-2-Clause License.
https://varnish-cache.org/docs/7.4/dev-guide/index.html