在我听说过的许多关于 Ruby 的讨论中,人们都表达了对这种语言的保留意见,猴子补丁问题成为他们最关心的问题之一。
然而,我很少听到在 Python 环境中提出相同的论点,尽管它在 Python 语言中也是允许的。
为什么会有这样的区别?
Python 是否包含不同类型的保护措施来最大限度地降低此功能的风险?
这是一种在 Python 中较少应用的技术,部分原因是 Python 中的“核心”类(那些用 C 实现的类)实际上不可修改。另一方面,在 Ruby 中,由于其内部实现方式(不是更好,只是不同),几乎任何内容都可以动态修改。
从哲学上讲,Python 社区中往往不赞成这种做法,但在 Ruby 世界中显然不那么常见。我不知道你为什么断言它更具争议性(你能链接到权威参考文献吗?) - 我的经验是,如果用户应该意识到可能的后果,猴子修补是一种可接受的技术。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)