Как разложить сложное на понятные части

Сложность - это не количество элементов. Это отсутствие структуры.

Пока система не разложена:

  • её нельзя понять
  • её нельзя изменить
  • она неустойчива

Я работаю с декомпозицией:

  • выделяю элементы
  • фиксирую роли
  • задаю правила взаимодействия

Это касается всего:

Хорошая структура:

  • объясняет себя
  • не требует лишнего
  • выдерживает изменения

Если система разваливается - проблема не в реализации, а в структуре.

Любую сложную вещь можно собрать заново, если правильно выделены её части.