Python面试题之“猴子补丁”(monkey patching)指的是什么?这种做法好吗?
2024-09-25 12:01:24
“猴子补丁”就是指,在函数或对象已经定义之后,再去改变它们的行为。
举个例子:
import datetime
datetime.datetime.now = lambda: datetime.datetime(2012, 12, 12)
大部分情况下,这是种很不好的做法 - 因为函数在代码库中的行为最好是都保持一致。打“猴子补丁”的原因可能是为了测试。mock
包对实现这个目的很有帮助。
为什么提这个问题?
答对这个问题说明你对单元测试的方法有一定了解。你如果提到要避免“猴子补丁”,可以说明你不是那种喜欢花里胡哨代码的程序员(公司里就有这种人,跟他们共事真是糟糕透了),而是更注重可维护性。还记得KISS原则码?答对这个问题还说明你明白一些Python底层运作的方式,函数实际是如何存储、调用等等。
另外:如果你没读过mock
模块的话,真的值得花时间读一读。这个模块非常有用。
本文首发于Python黑洞网,博客园同步更新
最新文章
- Android随笔之——Android时间、日期相关类和方法
- ITIL十大流程
- Lrc2Srt字幕转换精灵
- 黑马程序员——OC语言 内存管理
- 12个Icon图标资源网站
- windows安装composer方法和使用方法
- Java(17)异常
- Laravel 中实现是否关注
- Java-IO之FileReader和FileWriter
- lr_场景设计之知识点-集合点、loadgenerator
- 计算机名称改名之后,tfs连接问题
- Swagger UI 与SpringMVC的整合 II
- rpm打包tomcat
- MVC中修改Table值
- RN中移动组件开发
- 第十五章-class类文件结构
- 注解实现json序列化的时候自动进行数据脱敏
- 用idea简单创建web项目——两种方式
- MySQL内核整理(一)
- 4X4矩阵键盘扫描程序