Repository navigation
🚀 CurRate v2.0.0 - Улучшение качества и повышение производительности
🚀 CurRate v2.0.0 - Code Quality Improvements
Описание релиза
Этот релиз включает исправления выявленных проблем, удаление мертвого кода и оптимизацию производительности кэша.
🐛 Исправлено
- Удален мертвый код - убраны недостижимые проверки
if rate is Noneпосле вызоваget_currency_rate()вcurrency_converter.py(функция всегда возвращаетfloatили бросает исключение) - Исправлена сигнатура функции - изменен возвращаемый тип
get_currency_rate()сOptional[float]наfloatвcbr_parser.pyдля соответствия фактическому поведению - Обновлена документация - исправлен docstring
get_currency_rate(): убраны упоминания о возвратеNone, добавлено явное описание исключений
⚡ Изменено
- Оптимизирован кэш - реализована ленивая очистка кэша:
cleanup_expired()вызывается только при переполнении кэша в методеset(), а не при каждом вызовеget()иset() - Улучшена производительность - проверка TTL в методе
get()теперь выполняется только для конкретной записи, что снижает сложность с O(n) до O(1) в среднем случае - Обновлены тесты - исправлены тесты для соответствия новой логике кэша и обработке исключений вместо проверки на
None
🧪 Технические детали
- Покрытие тестами: 77.40% (выше требуемых 70%)
- Pylint: 10.00/10
- Все тесты проходят: 91 passed, 6 skipped
📦 Установка
git clone https://github.com/bivlked/CurRate.git
cd CurRate
git checkout v2.0.0
poetry install
poetry run python run.py📚 Документация
- Полная документация в README.md
- История изменений в CHANGELOG.md
Спасибо за использование CurRate! 🙏
⭐ Если проект был полезен, поставьте звезду!