Концепции Контекст выполнения
Контекст выполнения
Почему в рецепте нет слова project и откуда интерпретатор знает, с каким проектом работать.
Когда пользователь запускает рецепт, он уже выбрал проект в Anchor. Этот выбор и есть контекст выполнения. Интерпретатор получает из него всё нужное: настройки сервера и клиента, корни репозиториев, ветки, языковые варианты, доступные инструменты и разрешения.
Поэтому в рецепте не пишут project.что-то. Рецепт говорит про server и client, а какой именно сервер и какой клиент, определяется контекстом.
Что это даёт
- Один и тот же рецепт работает в разных проектах без правки.
- Внутренняя структура хранения настроек не просачивается в рецепт и не становится частью языка.
- Рецепт не содержит секретов и путей конкретной машины.
Если контекст неполный
Не хватает привязки сервера, у клиента несколько языков и не ясно какой нужен, цель записи неоднозначна: во всех этих случаях рецепт останавливается с понятной ошибкой, а не выбирает наугад.
Состояние: проектное решение. Диагностики с такими сообщениями в прототипе пока нет.
Дальше: server и client.