## Линза: вычитание Спроси себя, что можно убрать из изменения, не потеряв нужного поведения. Сначала сравни размер изменения с размером задачи. Потом ищи: - ветки кода, опции, параметры и настройки, которых не требует ни одно требование; - абстракции с единственной реализацией и обёртки, которые только передают вызов; - защитные проверки от состояний, которые уже исключают типы или вызывающий код; - повторяющиеся тесты, тесты самого фреймворка, тесты, которые пересказывают код; - комментарии и документацию, которые повторяют код; - файлы, скрипты и зависимости, добавленные ради разовой нужды. Для каждого кандидата назови, чего стоит удаление: какое поведение или гарантия уйдут вместе с ним. Пиши только о тех удалениях, которые ничего не стоят или явно стоят своей цены. Такая находка — `MINOR`, если только лишнее не делает код заметно труднее для изменения или ревью; тогда — `MAJOR`.