Глава 13

Как принимать решение без религии

Шесть принципов складываются не в свод законов, а в последовательность вопросов к решению. Идти по ней стоит сверху вниз: ранние шаги удерживают систему от преждевременного роста, поздние - проводят границы, когда рост уже наступил.

  1. Назвать текущую проблему
  2. Простейшее рабочее решение (KISS)
  3. Убрать лишнее без требования (YAGNI)
  4. Найти дублирование знания (DRY)
  5. Не обобщать раньше времени (AHA)
  6. Разделить причины изменений (SoC, SOLID)

Каждый шаг - это отдельный принцип на своём месте. Назвать текущую проблему (не будущую и не теоретическую - что мешает прямо сейчас). Выбрать самое простое рабочее решение - зона KISS. Убрать возможности без подтверждённого требования - проверка YAGNI. Найти дублирование знания, а не похожие строки - здесь помогает DRY. Не обобщать до появления устойчивой закономерности - ограничение AHA. Разделить части, которые меняются по разным причинам, - здесь работают SoC и SOLID.

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

Интерактивная лаборатория 5

Конструктор решения

Пройдено 0 из 6. Пройдите оставшиеся вопросы, прежде чем считать решение обоснованным.
Порядок важнее, чем набор. Те же принципы, применённые в обратном порядке (сначала абстракции и границы, потом задача), дают ту самую архитектуру ради архитектуры. Сила модели - в последовательности от задачи к структуре.

Модель собрана. Проверим её на трёх коротких задачах без единственно верного ответа.

Ссылки