Вопрос проверяет широту инженерного кругозора и умение мыслить на уровне проектирования, а не только конкретных паттернов.
Помимо SOLID часто используют KISS, DRY и YAGNI. Они направлены на упрощение кода, снижение дублирования и отказ от преждевременной сложности. Эти принципы дополняют SOLID и помогают принимать практические архитектурные решения. В реальных проектах их применяют чаще, чем формальные правила. Они особенно важны при росте и поддержке кода.
В архитектуре редко используют только SOLID. На практике разработчики опираются на более широкий набор принципов проектирования.
Определение:
KISS (Keep It Simple, Stupid) — делай решения максимально простыми.
Идея заключается в том, что:
простой код легче поддерживать
сложность должна появляться только при необходимости
читаемость важнее «умных» решений
Часто используется при выборе архитектуры и паттернов.
Определение:
DRY (Don’t Repeat Yourself) — избегай дублирования знаний в коде.
Принцип направлен на:
уменьшение копипаста
снижение количества ошибок
упрощение изменений
Важно понимать, что DRY — не про переиспользование любой ценой, а про устранение дублирования смысла.
Определение:
YAGNI (You Aren’t Gonna Need It) — не реализуй функциональность заранее.
Принцип помогает:
не усложнять архитектуру
не писать код «на будущее»
быстрее адаптироваться к изменениям требований
Особенно актуален на ранних стадиях проекта.
Помимо перечисленных, разработчики также опираются на:
separation of concerns
composition over inheritance
law of demeter
Все они направлены на снижение связности и рост поддерживаемости кода.