Ответ вслух Middle SOLID и принципы спрашивают часто обновлено

SOLID целиком

Вопрос

Назови пять принципов SOLID и объясни каждый одной фразой.

Попробуйте сами

Ответьте вслух за 2 минуты, как на собесе. Потом сверьтесь с тезисами: что прозвучало, а что нет.

Показать ответ и разбор

Коротко

S - единственная ответственность: у модуля должна быть одна причина для изменения. Компонент, который и запрашивает данные, и форматирует, и рисует таблицу, меняется по трём разным поводам.

Что должно прозвучать в ответе

  • S - Single Responsibility: у модуля одна причина для изменения

  • O - Open/Closed: открыт для расширения, закрыт для изменения

  • L - Liskov: наследника можно подставить вместо базового без сюрпризов

  • I - Interface Segregation: узкие интерфейсы вместо одного толстого

  • D - Dependency Inversion: зависеть от абстракции, а не от реализации

  • во фронтенде это правила про компоненты, хуки и модули, а не про классы

Что могут спросить следом

  • Какой принцип нарушается чаще всего в React-коде
  • Где SOLID во фронтенде избыточен
  • Чем SOLID отличается от DRY и KISS

Разбор

S - единственная ответственность: у модуля должна быть одна причина для изменения. Компонент, который и запрашивает данные, и форматирует, и рисует таблицу, меняется по трём разным поводам.

O - открыт для расширения, закрыт для изменения: новое поведение добавляется новым кодом, а не правкой существующего. Во фронтенде это children и слоты вместо очередного булева пропса.

L - подстановка Лисков: наследник должен работать везде, где работает базовый тип. Обёртка над button, которая молча игнорирует disabled, нарушает принцип.

I - разделение интерфейсов: лучше несколько узких, чем один толстый. Компонент не должен требовать двадцать пропсов, из которых используется три.

D - инверсия зависимостей: модуль зависит от абстракции. Компонент принимает функцию загрузки, а не импортирует конкретный axios-клиент.

Честная формулировка на собеседовании: SOLID писался для ООП, но во фронтенде читается как набор правил про границы модулей и компонентов.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.