intermediate
SOLID, DRY, KISS, YAGNI и related principles
Используйте design principles как heuristics управления изменениями для responsibilities, dependencies, duplication, simplicity и coupling.
SOLID, DRY, KISS, YAGNI и родственные принципы — словарь компромиссов, а не значки для коллекции. На интервью ждут, что вы покажете, когда принцип помогает изменениям, а когда механическое применение ведёт к overengineering.
Охват: SOLID подробно, вспомогательные принципы (DRY, KISS, YAGNI, separation of concerns, Law of Demeter, cohesion/coupling) и практика (распознавание overengineering, объяснение trade-offs, демонстрация в коде, когда правило можно нарушить).
На интервью: выберите один принцип и разберите рефакторинг или решение, которое он мотивировал, включая то, чего вы сознательно не делали.
Типовые ошибки: ответы-лозунги, преждевременная абстракция «на будущее», DRY, склеивающий несвязанные понятия.
Чеклист:
- Назовите change pressure, с которым борется принцип.
- Сравнивайте альтернативы по цене, а не по ярлыку.
- Покажите короткий пример кода по запросу.
- Признайте, когда простота важнее принципа.