и посмотреть медиа
Preguntas de la entrevista de Python - pruebas
и посмотреть медиа
Preguntas, pruebas y tareas para entrevistas en Python.
Preguntas, pruebas y tareas para entrevistas en Python.
bot de IA para clonar texto a voz y voz en Telegram. Cree audio utilizando la red neuronal de forma rápida y fácil.
Canal con preguntas para entrevistas a Python. Pruebas, tareas y materiales para la preparación.
🤔 Какие есть минусы у Monkey Patch если использовать не в тесте? Monkey Patching — это изменение или замена кода существующих классов и функций во время выполнения программы. Хотя этот метод бывает полезен, особенно в тестировании, его использование в продакшене может привести к опасным и непредсказуемым последствиям 🚩Ломает предсказуемость кода Когда ты изменяешь поведение встроенных библиотек или сторонних модулей на лету, программисты, читающие код, не смогут понять, почему стандартные функции ведут себя не так, как ожидалось. import datetime # Меняем поведение метода now() def fake_now(): return datetime.datetime(2000, 1, 1) datetime.datetime.now = fake_now # Monkey Patch print(datetime.datetime.now()) # Выведет 2000-01-01 00:00:00 🚩Может вызвать неожиданные ошибки после обновления библиотек Если библиотека обновится, и её внутренняя логика изменится, Monkey Patch может перестать работать или, что ещё хуже, привести к багам. Ты сделал Monkey Patch метода json.dumps, а потом библиотека json обновилась и поменяла его сигнатуру. Теперь твой патч сломается или будет работать некорректно. 🚩Трудно отлаживать и поддерживать Monkey Patching меняет поведение кода в скрытом режиме, поэтому сложно понять, почему что-то работает не так. Если баг возник из-за патча, отладка может занять часы или даже дни. Ты исправил баг с str.split(), заменив его через Monkey Patch, но через 6 месяцев разработчик обновил код, забыл про патч, и всё сломалось. 🚩Может затронуть весь код проекта (глобальное изменение) Monkey Patching меняет поведение для всей программы, а не только в одном модуле или файле. Это делает код хрупким и непредсказуемым. Если ты изменишь метод dict.get(), он будет вести себя по-другому во всех модулях программы. Это может привести к критическим ошибкам. original_get = dict.get def patched_get(self, key, default=None): print(f"Запрашивается ключ: {key}") return original_get(self, key, default) dict.get = patched_get # Monkey Patch d = {"a": 10} print(d.get("a")) # Работает, но теперь с побочным эффектом 🚩Нет гарантии, что это сработает во всех окружениях Monkey Patch может работать на одной версии Python или библиотеки, но сломаться на другой. В продакшене, где есть разные серверы и окружения, это может вызвать непредсказуемые ошибки. Ставь 👍 и забирай 📚 Базу знаний
Открыть канал и посмотреть медиаSolo los usuarios registrados pueden compartir su opinión.
¡Sé el primero en compartir tu experiencia con este recurso!