On 21.03.2016 21:42, Matt Wheeler wrote:
On 20 March 2016 at 16:46, Sven R. Kunze <srku...@mail.de> wrote:
On 19.03.2016 00:58, Matt Wheeler wrote:
I know you have a working solution now with updating the code &
defaults of the function, but what about just injecting your function
into the modules that had already imported it after the
monkeypatching?

Seems perhaps cleaner, unless you'd end up having to do it to lots of
modules...
Why do you consider it cleaner?
I think it would be more explicit and understandable for someone
reading your code.

I suppose it's quite subjective :)

As far as I can see, the code replacement approach solves the problem once and for all. Thus is far more stable.

Manually finding out every single module that might or might not have imported "reverse" before we could monkeypatch it might result in a maintenance nightmare (just think about a Django upgrade).


It reminds me of list replacement:

mylist = newlist
mylist[:] = newlist

The latter keeps the reference stable whereas the former does not. Same with monkeypatching.


Best,
Sven
--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to