guide: заведены критерии границы темы — META-33…META-36
- тема определяется решением, а не веществом (META-33) и нужна потребителю целиком (META-34); слой сужает базу, но не отменяет её (META-35), иначе это другая тема, а вид приложения называется в области действия (META-36) - добавлен раздел «Как проверить границу темы»: пять вопросов со ссылками на правила, включая META-20; те же строки в CLAUDE.md, а в LANGUAGE.md оговорка, что граница темы языку не принадлежит - в TODO заведён прогон восьми тем по критериям с разбором подозреваемых: шесть правил time выносят вердикты чужих тем, logging мешает три страта
This commit is contained in:
@@ -135,13 +135,30 @@ code in this repository.
|
||||
живут в копии ниже маркера `<!-- conv:local -->` (META-22), который ставит
|
||||
сборщик. Заводить пустые местные разделы в каноне не нужно.
|
||||
|
||||
## Граница темы
|
||||
|
||||
Пять вопросов, по которым тему проверяют на «не хапнули ли лишнего»; сначала
|
||||
разрез темы, ось — потом.
|
||||
|
||||
- META-33: правило стоит в теме, чей вопрос оно решает. Тема — решение, а не
|
||||
вещество: «время» проходит через несколько решений сразу, и правило о
|
||||
колонках БД принадлежит схеме, а не времени.
|
||||
- META-34: тема нужна потребителю целиком — подписка берёт её без остатка.
|
||||
Если два правдоподобных потребителя хотят непересекающиеся части, между
|
||||
ними и проходит граница.
|
||||
- META-35: слой сужает базу, но не отменяет её. Приходится отменять — это не
|
||||
слой, а другая тема; общим осталось слово, а не решение.
|
||||
- META-36: вид приложения (веб-сервис, CLI, плейбуки, библиотека) называется
|
||||
в области действия, если норма от него зависит. Осью он не является.
|
||||
- META-20: норма исполнима без соседних тем.
|
||||
|
||||
## Выбор оси
|
||||
|
||||
Умирает при смене языка → `lang/<язык>/`. Умирает при смене инструмента,
|
||||
хранилища или транспорта → `stack/<стек>/`. Не умирает ни от того, ни от
|
||||
другого → `arch/`. Ось определяется природой правила, а не числом сегодняшних
|
||||
потребителей. `extends: arch/<файл>.md` в шапке — документация связи, а не
|
||||
механизм; слой только реализует и сужает базу, но не отменяет её.
|
||||
механизм; слой только реализует и сужает базу, но не отменяет её (META-35).
|
||||
|
||||
## Оформление файла
|
||||
|
||||
|
||||
Reference in New Issue
Block a user