Зачем нужны принципы
Большая часть проблем в программировании появляется не тогда, когда код не понимает компьютер. Она начинается тогда, когда код перестаёт понимать человек. Через месяц это может быть коллега. Через год - вы сами. Код пишут один раз, а понимают много раз, и именно ради этих "многих раз" существуют принципы.
Принципы разработки - это короткие способы проверить решение. Они напоминают о цене сложности, лишних возможностей, дублирования и неудачных зависимостей. Но это не законы природы: каждый принцип отвечает на свой вопрос, а правильный ответ зависит от контекста. KISS, YAGNI и DRY спасают код ровно до тех пор, пока помогают думать.
Принцип полезен, пока помогает думать. Когда он заменяет мышление, начинается догма. Сначала поймите задачу, а потом выбирайте правило, которое уменьшит риск именно в этой задаче, - а не то, чьё название красивее звучит на ревью.
Чтобы почувствовать, какой принцип отвечает на вашу ситуацию, прогоните её через карту принципов.
Какой принцип под ситуацию
KISS: упростите до решения, которое полностью закрывает текущую задачу.
В книге шесть инструментов, и разберём мы их не по алфавиту, а по порядку применения: сначала те, что удерживают систему от преждевременного роста, потом те, что проводят границы, когда система этого уже требует. И всё - на одном сквозном примере.