Дэниел столкнулся с проблемой: запрос к базе данных не вернул результатов, хотя ожидались данные. Он использовал оберточную функцию execute_read для взаимодействия с базой данных. Эта функция имела несколько сомнительных дизайнерских решений. Одной из проблем был параметр only_one, который значительно изменял тип возвращаемого значения, в отличие от специализированных функций библиотек баз данных.Другой проблемой было использование env.is_production() для определения пороговых значений времени выполнения запроса, что указывает на то, что вместо этого должны использоваться параметры конфигурации. Однако самым критическим недостатком был широкий обработчик исключений. Этот обработчик без разбора перехватывал все ошибки, регистрировал их, но позволял функции продолжать работу.В результате, когда запрос Дэниела содержал синтаксическую ошибку, функция перехватила исключение и вернула пустой набор результатов. Это скрыло фактическую ошибку, заставив Дэниела потратить значительное время на отладку. В конце концов он обнаружил ошибку, затерянную в логах. Автор подчеркнул опасность таких тихих сбоев, особенно в производственных средах, где могут возникать проблемы с сетью. Возврат пустых результатов без явного указания на ошибку приводит к значительной путанице и трудностям в отладке.
execute_readдля взаимодействия с базой данных. Эта функция имела несколько сомнительных дизайнерских решений. Одной из проблем был параметрonly_one, который значительно изменял тип возвращаемого значения, в отличие от специализированных функций библиотек баз данных.Другой проблемой было использованиеenv.is_production()для определения пороговых значений времени выполнения запроса, что указывает на то, что вместо этого должны использоваться параметры конфигурации. Однако самым критическим недостатком был широкий обработчик исключений. Этот обработчик без разбора перехватывал все ошибки, регистрировал их, но позволял функции продолжать работу.В результате, когда запрос Дэниела содержал синтаксическую ошибку, функция перехватила исключение и вернула пустой набор результатов. Это скрыло фактическую ошибку, заставив Дэниела потратить значительное время на отладку. В конце концов он обнаружил ошибку, затерянную в логах. Автор подчеркнул опасность таких тихих сбоев, особенно в производственных средах, где могут возникать проблемы с сетью. Возврат пустых результатов без явного указания на ошибку приводит к значительной путанице и трудностям в отладке.