[Python-Dev] cpython: Rename contextlib.ignored() to contextlib.ignore(). (original) (raw)
Raymond Hettinger raymond.hettinger at gmail.com
Wed Oct 16 09:07:16 CEST 2013
- Previous message: [Python-Dev] cpython: Rename contextlib.ignored() to contextlib.ignore().
- Next message: [Python-Dev] cpython: Rename contextlib.ignored() to contextlib.ignore().
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On Oct 15, 2013, at 4:24 PM, Nick Coghlan <ncoghlan at gmail.com> wrote:
this thread still epitomises everything that sucks about soul destroying, energy draining bikeshed painting that makes me wonder why I ever bother trying to make anything better.
FWIW, here's a little history:
- Last year, one of my clients suggested this feature based on code his team had been using in production.
- I thought it might be a good idea, so I scanned the standard library and some third-party modules to see how well it worked with existing examples of try/except/pass.
- I posted the proposal to the tracker over a year ago (issue 15806) along with some examples from the standard library. I also posted an egrep search so that others could evaluate it on their own code.
- Along the way, I did usability testing on some corporate Python programmers who were attending my intermediate and advance Python classes. The feedback was positive (expressive, readable, and concise).
- In February, I presented ignore() in the keynote for the U.S. Pycon. Again, the feedback was positive.
- After some refinements, the module maintainer (Nick) blessed it and the code was checked-in to the Python 3.4 codebase in early March.
- This month, I made a minor name change from ignored() to ignore().
- The next day, Antoine launched this thread and everything hit the fan.
As Nick said, this thread was just awful. I found it painful to read each day. Shoot from the hip comments were given greater weight than months of development. Neither Nick nor I were given an ounce of respect for the thought we put into this or for our long track record of good design.
The python-dev mailing list is a complex (and sometimes dysfunctional) environment. I understand that everyone on the soccer field feels a need to step-in and kick the ball to affect the outcome, but this was too much.
To each participant, it may not seem like bike-shedding, but there were almost a hundred emails in this thread just to kick around six lines of code that were checked-in seven months ago:
@contextmanager
def ignored(*exceptions):
try:
yield
except exceptions:
pass
Raymond
P.S. The name suppress() is not as good as ignore(), but I'm so burnt out on this thread that I just don't care anymore.
-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://mail.python.org/pipermail/python-dev/attachments/20131016/26cb7e43/attachment.html>
- Previous message: [Python-Dev] cpython: Rename contextlib.ignored() to contextlib.ignore().
- Next message: [Python-Dev] cpython: Rename contextlib.ignored() to contextlib.ignore().
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]