intermediate

Explaining principle trade-offs

Связывайте principle с change, от которого он защищает, cost, который он добавляет, и signals, которые изменят decision.

Сильный ответ связывает принцип с изменением, от которого он защищает, ценой, которую добавляет, и сигналами для отмены решения. Пример: DIP добавляет mapping, но даёт заменить Postgres на fake в тестах; для throwaway script пропустите.

Интервьюеру нужно суждение, не лозунги — контекст, размер команды, lifecycle.

На интервью: «Зачем SRP здесь?» — одна защищённая причина изменения и цена разделения.

Типовые ошибки: акронимы без сценария; принципы как абсолюты; игнор дедлайнов.

Компромисс — артикулированное design reasoning против галочек по названиям.

Чеклист:

  • Какое изменение защищаете и какая цена.
  • Конкретный пример из codebase.
  • Что заставит передумать.