一、猴子补丁的介绍
关于猴子补丁为啥叫猴子补丁,据说是这样子的:
这个叫法起源于Zope框架,大家在修正Zope的Bug的时候经常在程序后面追加更新部分,这些被称作是“杂牌军补丁(guerilla patch)”,后来guerilla就渐渐的写成了gorllia((猩猩),再后来就写了monkey(猴子),所以猴子补丁的叫法是这么莫名其妙的得来的。
Monkey Patch的翻译叫“程序运行过程中的补丁”
二、什么时候用到
如果都是自己写的代码,Monkey Patch 就毫无意义了,直接改源码就可以。Monkey Patch 的主要用途,在于源码不宜直接修改。比如你要修正一个第三方 module 的 bug 或者进行特定的修正、扩展,通常来说有下面几种做法:
1.直接把源 package/module,复制一份到当前项目中,再改源码;但不推荐,因为会导致当前的项目代码管理上的混乱。
2.向源作者提 pull request,以修正 bug 或者其他;应该如此,但未必能联系到对方,联系到了对方未必修改,修改了未必很快能用上。
<