Monkey-patching for good
Monkey-patching generally has a negative connotation in the Python community. Luckily, the community values code that is straight-forward and explicit, which is typically the opposite of monkey-patching.
However, there is a time and a place for everything. In fact, Ned Batchelder shows off a very clever use in his excellent post about a recent bug chase. He replaces the function
lambda: 1/0 which cleverly triggers an exception when someone later in the code tries to use
random.random. The real beauty of this 'solution' is the exception and automatic stack trace. This can be very valuable when debugging code that you're very familiar with.
The article is a great read so be sure to check it out.
Published: 02-18-2013 14:34:19