Каких принципов ты придерживаешься при написании кода
Python
Middle
Без компании
Каких принципов ты придерживаешься при написании кода
Ответы
Придерживаюсь принципов **SOLID**, **DRY**, **KISS** и **YAGNI**:
- **SOLID**:
- Single Responsibility (каждый класс отвечает за одну вещь)
- Open/Closed (открыт для расширения, закрыт для изменений)
- Liskov Substitution (наследники должны заменять родителей)
- Interface Segregation (узкоспециализированные интерфейсы)
- Dependency Inversion (зависимости от абстракций)
- **DRY** (Don't Repeat Yourself) - избегаю дублирования кода.
- **KISS** (Keep It Simple, Stupid) - простота важнее избыточной сложности.
- **YAGNI** (You Aren't Gonna Need It) - не реализую функционал "на будущее".
Пример хорошего кода:
```
class PaymentProcessor(ABC):
@abstractmethod
def process(self, amount: float) -> None: ...
class CreditCardProcessor(PaymentProcessor):
def process(self, amount: float) -> None:
print(f"Processing ${amount} via credit card")
# Использование
processor: PaymentProcessor = CreditCardProcessor()
processor.process(100.0)
```