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