-----BEGIN PGP SIGNED MESSAGE-----
On May 16, 2008, at 9:31 PM, Robert D. wrote:
I would it call dangerous in libraries not applications and still
anyway ;), no worries your question is a sensitive one!
Absolutely agree here
Actually, I disagree with both definitions. I don’t consider opening
Classes (be they core or not) monkey-patching.
I define monkey-patching as “opening and changing behaviour of a
in the knowledge that other classes/libraries depend on it”.
“this array is of the hook”
has nothing to do with monkey-patching - chances are high that there
are no conflicts.
#whoops, i dropped the element
is a total different case. I postulate that most Programs written in
Ruby depend on the behaviour
of Array#=. So this is monkey-patching at its worst. (you patch a
certain functionality because
you think that it should behave differently. In this case, it is
pretty obvious, that this try was a failure.
The wikipedia has a nice explanation:
"In Python, the term monkey patch only refers to dynamic modifications
of a class at runtime based on the intent to patch existing methods in
an external class as a workaround to a bug or feature which does not
act as you desire. Other forms of modifying a class at runtime have
different names, based on their different intents. For example, in
Zope and Plone, security patches are often delivered using dynamic
class modification, but they are called hot fixes.
In Ruby, the term monkey patch was misunderstood to mean any dynamic
modification to a class and is often used as a synonym for dynamically
modifying any class at runtime."
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.8 (Darwin)
-----END PGP SIGNATURE-----