На днях я был кодированием, когда внезапно я обнаружил, что борюсь с простой проблемой, но смущаю решение (по крайней мере, на путинском пути).Каков рекомендуемый способ использования шаблона Null в Python?
код должен был просто скачать некоторые файлы, для этого, было бы назвать некоторые DownloadController
передавая ей callback
так полученные события, такие как init
, progress
, error
и success
.
Однако мой код не нуждался во всех этих событиях. С этим пришло на мой взгляд, некоторые решения
- Изменение
DownloadController
иметь значение по умолчаниюcallback=None
и проверять его так, чтобы игнорировать отправки события в этом случае - Have
NullCallbackImpl
который прилипает обратный вызов интерфейса, но не делать ничего (простоpass
на каждое событие)
Первый подход не понравился, потому что код был бы довольно грязным и не очень продуманным.
Итак, я придерживаться второго подхода ... Вопросы:
- Как хорошо (может быть «как плохо») было бы иметь
null_callback = mock.Mock()
? (используя библиотеку python mock от Michael Foord)- Есть ли библиотека, которая это делает?
- Или я должен придерживаться создания
NullCallbackImpl
, реализующего каждый метод с помощью простогоpass
?
Mocks запись каждый звонок. Вы не хотите, чтобы каждое событие создавало кучу журналов мусора. – user2357112
Это хороший момент. В самом деле, единственный аргумент, который мне нужно, просто избегать этого. Благодаря! –