[Python-Dev] Coding practice for context managers (original) (raw)

Nick Coghlan ncoghlan at gmail.com
Mon Oct 21 13:34:43 CEST 2013


On 21 Oct 2013 21:22, "R. David Murray" <rdmurray at bitdance.com> wrote:

On Mon, 21 Oct 2013 12:11:57 +0100, Paul Moore <p.f.moore at gmail.com> wrote: > On 21 October 2013 11:59, R. David Murray <rdmurray at bitdance.com> wrote: > > On Sun, 20 Oct 2013 19:49:24 -0700, Ethan Furman <ethan at stoneleaf.us> wrote: > >> On 10/20/2013 07:42 PM, Raymond Hettinger wrote: > >> > > >> > In short, I recommend that efforts be directed at improving help() rather than limiting introspection by way of less clean coding practices. > >> > >> +1 > > > > I'm also +1 on improving help instead of using wrapper classes. > > Agreed. A wrapper function whose purpose is solely to tidy up help > seems like a bad idea in general. > > I'm somewhat more sympathetic to Nick's point that the name the user > types should be all-lowercase and a class would be mixed case, but on > that I think it's actually the naming convention that should change > (name classes/functions based on usage, not implementation). The rule > to me is that changing the underlying implementation shouldn't affect > the user interface. +1. I've run into this tension between the naming convention and wanting to change the underlying API before, and I think the naming convention gets in the way.

Right, I think we may want to reconsider that guideline, because I just realised it helped nudge me into introducing an outright bug: using wrapper functions as I did means help() on instances will pick up the private helper class which is definitely not what we want. (Perhaps we could relax the rule to require initial capitals for abstract types, but allow it to be skipped for concrete classes? That would better match what we actually do in the builtins and stdlib).

Regardless, lesson learned, I'll create an issue and put a patch on the tracker to create a public OO API for these as described in my previous message (but using the current names).

Cheers, Nick.

--David


Python-Dev mailing list Python-Dev at python.org https://mail.python.org/mailman/listinfo/python-dev Unsubscribe: https://mail.python.org/mailman/options/python-dev/ncoghlan%40gmail.com -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://mail.python.org/pipermail/python-dev/attachments/20131021/c05fca72/attachment.html>



More information about the Python-Dev mailing list