architect/concept/DESIGN_CRITERIA.md

type: concept
aspect: quality
title: "Критерии качества правила"
version: 1.0.0
date: 2026-03-19
status: active
extends: PRINCIPLES.md


Критерии качества правила

Extends: PRINCIPLES.md


ЗАЧЕМ

Любое правило платформы — стандарт, политика, конвенция — должно проходить
этот чеклист перед утверждением. Без проверки правила накапливаются,
конфликтуют и перестают работать.


7 КРИТЕРИЕВ

# Критерий Тест
1 Минимально достаточно Короче — теряем смысл. Длиннее — лишнее.
2 Самообъясняет Убери документ — из структуры/названия всё ещё понятно что делать?
3 Один путь Есть ли слово "или" в формулировке? Если да — упрости.
4 Проверяемо Назови команду или визуальный признак нарушения. Не можешь — правило не проходит.
5 Без поддержки Требует ли обновления реестра, индекса или конфига чтобы работать?
6 Обратимо Можно ли отменить действие выполненное по этому правилу?
7 Масштабируется Работает одинаково для 1 объекта и для 1000?

ПРИМЕНЕНИЕ

Чеклист перед утверждением правила

□ 1. Минимально достаточно — нельзя убрать слово без потери смысла
□ 2. Самообъясняет — понятно без документа
□ 3. Один путь — нет "или", нет вариантов
□ 4. Проверяемо — команда: ________________________
□ 5. Без поддержки — не нужен реестр/индекс
□ 6. Обратимо — откат: ____________________________
□ 7. Масштабируется — работает при любом масштабе

Если хотя бы один пункт не пройден → правило нужно переработать.


ПРИМЕРЫ

Хорошее правило

_draft/ → черновики кода и документов

Критерий Проверка
Минимально достаточно ✅ короче некуда
Самообъясняет _draft/ говорит само за себя
Один путь ✅ нет "или"
Проверяемо find . -type d -name "_draft"
Без поддержки ✅ не нужен реестр
Обратимо mv _draft/X.md X.md
Масштабируется ✅ работает для 1 и 1000 файлов

Плохое правило

"Сервисы регистрируются в services.yaml или документируются в README.md"

Критерий Проверка
Минимально достаточно
Самообъясняет
Один путь ❌ есть "или" — два варианта
Проверяемо ❌ непонятно где искать нарушение
Без поддержки ❌ нужно поддерживать services.yaml
Обратимо
Масштабируется ⚠️ services.yaml растёт бесконтрольно

Вывод: 3 из 7 не пройдены → переработать.


АНТИПАТТЕРНЫ

Антипаттерн Какой критерий нарушает
"Обычно делай X, но если Y — то Z" 1 (не минимально), 3 (не один путь)
"Смотри документ X для деталей" 2 (не самообъясняет)
"X или Y на ваш выбор" 3 (не один путь)
"Команда проверки сложная и субъективная" 4 (не проверяемо)
"Обновить реестр при каждом изменении" 5 (требует поддержки)
"После удаления восстановить нельзя" 6 (не обратимо)
"Работает только для малых проектов" 7 (не масштабируется)

СВЯЗИ


Версия: 1.0.0
Дата: 2026-03-19