Онтология проектирования: от частного к общему

Умная мысль:

Когда ты программируешь, изначально нужно делать частные случаи.
В частных случаях ты ближе к смыслу.
Не надо стремиться к универсализации заранее, потому что ранняя универсализация — это Вавилонская башня.
Универсализация нужна только тогда, когда ты сделал два частных случая и увидел, что у них действительно одно и то же.

Коротко как принцип

  1. Сначала делай конкретное, живое действие под реальную задачу.
  2. Не обобщай «на всякий случай».
  3. Сравнивай только уже работающие частные решения.
  4. Обобщай только подтверждённо общее (одинаковый жизненный цикл, одинаковая ответственность, одинаковые ограничения).

Почему это важно

Преждевременная универсализация:

  • размывает причинность;
  • прячет ответственность;
  • превращает архитектуру в «механизм без субъекта»;
  • создаёт хрупкие abstraction layer’ы и усложняет систему.

Зрелая универсализация:

  • появляется после практики;
  • сжимает уже найденную структуру;
  • сохраняет связь с реальным смыслом действий.

Рабочее правило

Сначала два (или больше) честных частных случая.
Потом — аккуратное извлечение общего.
Не «могут быть похожи», а «доказанно изоморфны в работе».

Прокрутить вверх