PassFront
  1. PassFront
  2. База знаний
  3. Принципы S.O.L.I.D

По каким признакам в коде видно нарушение принципов SOLID?

Принципы S.O.L.I.D

Нарушения SOLID видны по типичным запахам: громоздкие классы, правки на каждый чих, развязки по конкретным типам и невозможность протестировать класс в изоляции.

Чек-лист запахов

  • SRP: класс на тысячи строк; в его описании звучит «и», «а также»; правится разными людьми под разные задачи.
  • OCP: цепочки if/elif или switch по типу, растущие с каждой фичей; новый вариант требует правки старого кода.
  • LSP: проверки конкретного типа перед вызовом; переопределённые методы пустые или бросают «не поддерживается»; наследник падает там, где база работала.
  • ISP: интерфейс-«портфель» с десятками методов; реализации заполнены заглушками.
  • DIP: создание инфраструктуры внутри бизнес-логики; тест требует реальной базы и сети.

Общий симптом

Стоимость безопасного изменения растёт: страх правок и регрессии по принципу «починил здесь — сломал там».

Как чинить

Не всё сразу: покрыть тестами, выделить абстракцию в самой горячей точке изменений, затем постепенно переносить вариации в новые реализации.

Коротко для собеседования

Нарушения выдают запахи: гигантские классы, switch по типу, заглушки в реализациях и бизнес-логика, которая сама создаёт инфраструктуру. Итоговый симптом — страх правок; лечат постепенно: сначала тесты, затем абстракция в самой часто меняющейся точке.

Другие вопросы раздела