Files
portal/app/tests/Unit
Дмитрий 2ea204e3b3 docs схема: сторож видит имя по пути, а не по окончанию
Прежде имя опознавалось только по окончанию, и сторож был слеп к
App\Services\Db\GrantsConsistencyChecker в db/02_grants.sql. Одна и та же
ложь, в одном месте, ловилась или нет по последнему слову. Скверно
вдвойне: чем незнакомее окончание, тем вероятнее, что класса и правда
нет.

Теперь имя с путём считается именем независимо от окончания. Выбор
доказан замером четырёх правил: 17, 35, 40 и 348 срабатываний. Любое
слово-верблюд отпадает по числу — в шум идут PostgreSQL, SaaS и имена
тестов.

Список окончаний для голых имён расширен: цена — одно лишнее имя в
долге, находка — два имени в самом db/schema.sql, которых прежний
список не видел. Известная граница названа вслух внутри сторожа: голое
имя с незнакомым окончанием он не увидит, лечится привычкой писать имя
с путём.

Починил заодно две свои ошибки того же рода. Правило про запрет
обработки работало по окну в восемь строк и давало ложное красное на
десятке посторонних имён — сведено к тому же понятию куска, мерка в
стороже теперь одна на всё. И существующими считались классы только из
app/app: собственные проверки проекта сторож посчитал бы
несуществующими. Добавлены app/tests и app/database.

Перечень долга пересчитан: 28 имён вместо 9, почти весь прирост дал
один раздел журнала — план мая 2026. Над перечнем поставлена оговорка:
замерено, что класса с таким именем нет, и НЕ замерено, сделана ли
работа под другим именем.

Показан красным семью ножами. Сторож поймал собственного автора: полный
прогон покраснел на абзаце, который я сам дописал в журнал час назад.

Полный прогон: 5011 проверок, красных 0.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-06 08:42:18 +03:00
..