intermediate
Explaining principle trade-offs
Связывайте principle с change, от которого он защищает, cost, который он добавляет, и signals, которые изменят decision.
Сильный ответ связывает принцип с изменением, от которого он защищает, ценой, которую добавляет, и сигналами для отмены решения. Пример: DIP добавляет mapping, но даёт заменить Postgres на fake в тестах; для throwaway script пропустите.
Интервьюеру нужно суждение, не лозунги — контекст, размер команды, lifecycle.
На интервью: «Зачем SRP здесь?» — одна защищённая причина изменения и цена разделения.
Типовые ошибки: акронимы без сценария; принципы как абсолюты; игнор дедлайнов.
Компромисс — артикулированное design reasoning против галочек по названиям.
Чеклист:
- Какое изменение защищаете и какая цена.
- Конкретный пример из codebase.
- Что заставит передумать.