Встречается на собеседованиях • сегодня

Какие два принципа SOLID важнее остальных на твой взгляд

Принцип единственной ответственности (SRP) и Принцип открытости/закрытости (OCP) — ключевые в SOLID.

SRP упрощает поддержку: класс должен решать одну задачу.

python
# Плохо: класс и логирует, и сохраняет данные
class UserManager:
    def save_user(self, user):
        # сохранение в БД
        pass
    def log_user(self, user):
        # логирование
        pass

Хорошо: разделение ответственностей

class UserSaver:
def save_user(self, user): ...

class UserLogger:
def log_user(self, user): ...

text

**OCP** позволяет расширять код без изменений (через абстракции).  
```python
from abc import ABC, abstractmethod

class Notifier(ABC):
    @abstractmethod
    def send(self, message): ...

class EmailNotifier(Notifier):
    def send(self, message): ...

class SMSNotifier(Notifier):
    def send(self, message): ...

# Новый тип нотификатора? Просто добавить класс, не меняя существующий код.

SRP снижает связанность, OCP — обеспечивает гибкость. Вместе они формируют основу для масштабируемого кода.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы