Перейти к содержанию

Architecture Decision Records

Проектные решения записываются один раз вместе с обоснованием, вместо того чтобы обсуждаться заново на каждом ревью. Если изменение противоречит одному из них, обновлять надо именно ADR.

Сами записи живут в репозитории, рядом с кодом, который описывают, — в docs/adr/. Это рабочие документы на русском языке, и они остаются в репозитории, а не дублируются здесь, чтобы решение и реализующий его код двигались вместе.

Записи

ADR Тема Что решает
001 Wire-типы DAP генерировать типы протокола из схемы, а не писать руками
002 Транспорт DAP, кодек и корреляция запросов stdio и TCP, кадрирование Content-Length, сопоставление ответов с запросами
003 Модель состояния Debugger Core редьюсер команд и событий, отбрасывание устаревших ответов
004 GUI framework egui и вытекающие ограничения, включая виртуализацию строк
005 Source frontend protocol и IPC граница с редактором, Unix-сокет, снимок по hello
006 Дерево переменных ленивая загрузка, пагинация, кэш в пределах поколения остановки
007 Подъём окна на остановке один подъём на поколение остановки и чем это оплачено
008 Нативный транспорт PHP/Xdebug собственный DBGp-адаптер вместо зависимости от моста на Node
009 Визуальный слой палитра, плотность, шрифты и пороги контраста, проверяемые тестами

Как они соотносятся с этим сайтом

Несколько страниц здесь излагают вывод ADR без его обоснования:

Страница Связанные ADR
Модель DAP 001, 002, 003, 006, 008
IPC 005, 007
Архитектура 003, 004
Переменные 006
Интерфейс отладчика 004, 009
Языки → PHP 008

Читайте ADR, когда нужно знать почему и когда вместе с решением нужны отвергнутые альтернативы.