Почему так
Раздел архитектурных решений nuckty. Каждая страница — запись о выборе: какие альтернативы рассматривались, почему победила одна из них и чем пришлось пожертвовать.
Принцип отбора прост: запись нужна, если решение нетривиально и его обоснование пригодится позже. Если выбор очевиден — ему здесь не место.
Все записи ведутся по одному формату: Решение → Контекст → Альтернативы → Аргумент → Последствия.
Записи
- Движок Markdown — remark/unified вместо markdown-it
- BEMJSON как модель данных — типизированное дерево вместо строковых шаблонов
- Двухпроходный рендеринг — разделение построения дерева и сериализации
- Карта сайта вместо маршрутов — явное дерево адресов вместо маршрутизации по файлам
- Сжатие без zstd — Brotli Q11 и Gzip 9, без третьего кодека
- Хостинг и согласование форматов — выбор формата по одному адресу
- Семейство репозиториев — независимые репозитории
nuckty-*и единый свод правилnuckty-codestyle
Общий критерий
Сквозные критерии всех решений: долгосрочная поддержка проекта на TypeScript, простота сопровождения и скорость. Объём уже написанного кода и стоимость миграции в расчёт не берутся. Невозвратные издержки — не довод в пользу худшего решения на будущее.
Каждая запись связывает выбор с конкретной структурой данных, контрактом расширений и условиями сопровождения. Для сравнения скорости сборки или стоимости поддержки нужны отдельные доказательства; сами записи не подтверждают измеренного преимущества.