## Стиль кода

- Следовать принципам ООП.
- Забудь про обратную совместимость.
- Добавлять логирование с разными уровнями.
- Выносить повторяющийся код в общие/переиспользуемые конструкции.
- Переиспользовать уже реализованные функции.
- Для элементов интерфейса, лога, комментариев в коде использовать **русский язык**.
- Не проверять тип переменных, все должно работать без лишних проверок.
- Не писать функции нормализации типов переменных, не писать функции проверки типов переменных.
- Лучше получить Exception, и исправить ошибку в коде сразу, чем делать расследование по логам.

## Тестирование

- Перед отправкой изменений запускать `pytest`.
- Исправлять все ошибки и предупреждения, выявленные pytest.
- Устанавливай все зависимости перед запуском тестов.
