Блок 3 · Урок 3 из 5 · ≈ 8 минут · цель: быстро проверять, держит ли модуль сложность

Тест удаления

Deletion test

Главная мысль: если удалить модуль, станет видно, исчезала ли сложность внутри него или просто проходила через него.

Удалили: сложность исчезла - модуль был лишним.

Удалили: сложность расползлась - модуль держал работу.

Зачем это вам

Когда агент предлагает новый модуль, deletion test помогает не спорить на вкус. Вы мысленно удаляете модуль и спрашиваете: что придется вернуть в вызывающие места?

Если почти ничего - модуль не нес нагрузку. Если правила, проверки, ошибки и интеграции придется размазать по проекту - модуль полезен.

Суть

Выберите модуль и представьте, что его нет.

Спросите, где окажутся его правила: в одном соседнем месте или во многих вызывающих местах?

Если удаление убирает только файл и не возвращает сложность, модуль мог быть pass-through. Если удаление заставляет повторять знание везде, модуль создавал locality.

Аналогия

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

Запомните одно

Deletion test показывает, держит ли модуль сложность внутри или только добавляет еще одну остановку на пути вызова.

Фраза агента → что он имеет в виду

«Если удалить этот слой, ничего не изменится»
Вероятно, слой не скрывает важное решение и может быть лишним.
«Без модуля правила придется повторить»
Модуль держит знание локально и может быть глубоким.
«Нужно посмотреть callers»
Агент проверяет, сколько вызывающих мест зависит от скрытого знания.

Мини-словарь

Deletion test
Мысленная проверка: что произойдет со сложностью, если удалить модуль?
Caller
Вызывающий код, который использует интерфейс модуля.

Проверьте себя

Что хороший знак в deletion test?

Связанные материалы

Основной источник