当前位置: 移动技术网 > IT编程>脚本编程>Python > Python面试题之“猴子补丁”(monkey patching)指的是什么?这种做法好吗?

Python面试题之“猴子补丁”(monkey patching)指的是什么?这种做法好吗?

2019年09月03日  | 移动技术网IT编程  | 我要评论

九阳电磁炉故障代码,金毛狗狗图片,河南豫剧红脸王

“猴子补丁”就是指,在函数或对象已经定义之后,再去改变它们的行为。

举个例子:

import datetime
datetime.datetime.now = lambda: datetime.datetime(2012, 12, 12)

大部分情况下,这是种很不好的做法 - 因为函数在代码库中的行为最好是都保持一致。打“猴子补丁”的原因可能是为了测试。mock包对实现这个目的很有帮助。

为什么提这个问题

答对这个问题说明你对单元测试的方法有一定了解。你如果提到要避免“猴子补丁”,可以说明你不是那种喜欢花里胡哨代码的程序员(公司里就有这种人,跟他们共事真是糟糕透了),而是更注重可维护性。还记得kiss原则码?答对这个问题还说明你明白一些python底层运作的方式,函数实际是如何存储、调用等等。

另外:如果你没读过mock模块的话,真的值得花时间读一读。这个模块非常有用。

本文首发于,博客园同步更新

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网