Как разложить сложное на понятные части
Сложность - это не количество элементов. Это отсутствие структуры.
Пока система не разложена:
- её нельзя понять
- её нельзя изменить
- она неустойчива
Я работаю с декомпозицией:
- выделяю элементы
- фиксирую роли
- задаю правила взаимодействия
Это касается всего:
- мышления (граф сознания)
- речи (DSL формулировок)
- продуктов (архитектура)
- контента (Notepub)
Хорошая структура:
- объясняет себя
- не требует лишнего
- выдерживает изменения
Если система разваливается - проблема не в реализации, а в структуре.
Любую сложную вещь можно собрать заново, если правильно выделены её части.