Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
3 — следствие того, что Вы в одной библиотеке пытаетесь собрать разный, несвязанный функционал. Слышали такое понятие Unix-way?
Пишите программы, которые делают что-то одно и делают это хорошо
То же применимо к библиотеке. Обертка для редиса — одно, для реакта — другое, логирование — третье. Тогда, если мне нужен будет какой-то функционал, я сделаю pip install torskel-redis,
и не нужны будут костыли вроде use_redis=False. Соответственно, у разных библиотек должны быть разные setup файлы со своими зависимостями
1 — добавлю про исключения. Не делайте try .. except всех исключений. Почему — см. на sof
2 — почему оборачивать логгер плохо?
3 — тут расчёт на то, что может понадобиться просто приложение, без подключенного функционала редиса/реакта, то есть получается что импортировать тот же aioredis необязательно
try:
import aioredis
except ImportError:
aioredis = None
...
if aioredis is None:
raise ImportError('Required package aioredis is missing')
else:
self.init_redis_pool(loop)
...
Torskel — упрощаем рутину в Tornado