Cookbook: рабочие правила и рецепты @aom
This content is not available in your language yet.
Здесь собираются практические ответы на вопрос «как правильно написать вот это» — с рабочими примерами, объяснением, почему именно так, и указанием, где тот же код исполняется тестом.
Чем это отличается от остальной документации:
| Файл | Что в нём |
|---|---|
| страница пакета | справочник: что делает каждый декоратор, какие поля у каждого класса |
| Архитектура ядра | как устроено ядро целиком: пакеты, зависимости, фазы, порядок исполнения |
| рецепты | как писать прикладной код и на чём тут спотыкаются |
Правила ведения
Заголовок раздела «Правила ведения»- Каждый пример исполняется тестом. Рецепт без теста устаревает и начинает врать. В конце каждого рецепта — ссылка на тест-файлы, в которых лежит тот же код; в самом тесте — комментарий-обратная ссылка на рецепт.
- Сначала рабочий код, потом объяснение. Рецепт читают, когда что-то не получается, а не для общего развития.
- Антипримеры обязательны. Если приём не работает или работает не так, как кажется, — показать неверный вариант рядом с правильным.
- Никаких повторов справочника. Список аргументов декоратора — в readme пакета; сюда попадает только то, что из сигнатуры не видно.
- Один рецепт — один файл, имя по теме (рецепт про
@This), а не порядковое вроде «router-2».
Рецепты
Заголовок раздела «Рецепты»| Файл | О чём |
|---|---|
рецепт про @This | @This, @State, @OnInstance: когда объект класса виден, что гарантировано проверками, какие связки дают ошибку цикла |
| рецепт про ленивое тело | Ленивое тело запроса: когда сервер его реально читает, лимит размера (глобальный и на маршруте), 413 и Connection: close, адаптер для чужого HTTP-фреймворка |
| рецепт про изоляторы | Изоляторы: вызов метода класса через шину, адресация исполнителей, таймауты ответа, дедупликация, ошибки через шину, очереди, границы доверия |