Подход · правила
Правила проекта: тест и слияние
Два правила базы проекта. Первое: у правила есть проверка, иначе это обещание. Второе: похожие правила сливаются, иначе проект обрастает копиями, и читатель не знает, какое из них главное.
01Правило и проверка
Без проверки правило не действует
Правило, которое нельзя проверить, живёт только в тексте. Через месяц никто не помнит, соблюдается оно или нет, а спор решается вкусом. Поэтому у каждого правила в базе есть минимум одна проверка, которая падает при нарушении, и строка в карте «правило → проверка».
Гейт rules-tests краснеет в трёх случаях: у правила нет строки в карте, строка ссылается на несуществующий файл проверки, в проекте нет тестов. Карта — не украшение: без неё правило не считается обязательным.
02Слияние
Похожие правила объединяются
Дубли ломают проект тихо. Два похожих правила расходятся в деталях, проверки начинают противоречить друг другу, а читатель выбирает то, которое прочитал первым. Поэтому перед новым правилом — поиск: похожее сливается с существующим, идентичное не добавляется вовсе.
Гейт rules-dupes краснеет на одинаковых заголовках и на схожести корней слов от 0,7. Это не придирка к формулировкам: если два правила говорят одно и то же разными словами, одно из них лишнее.
03Почему
Что происходит без этих правил
- Правило без теста — обещание: его нельзя ни проверить, ни оспорить. Красный гейт — единственный способ узнать, что правило нарушено.
- Дубли — потеря авторитета: когда правил-близнецов пять, главного нет, и каждый выбирает удобное.
- Расхождение проверок — худший случай: одна проверка требует одного, вторая — обратного, и гейт краснеет на корректном изменении.
Правило — это код проверки, а не абзац текста. Всё, что нельзя проверить, остаётся пожеланием.