[Python-Dev] Tweaking PEP 8 guidelines for use of leading underscores

Chris McDonough chrism at plope.com
Tue Jul 16 08:01:22 CEST 2013


On Tue, 2013-07-16 at 15:44 +1000, Nick Coghlan wrote:
> On 16 July 2013 13:16, Chris McDonough <chrism at plope.com> wrote:
> > I understand that.  Unfortunately the remainder of the world does not.
> > The same IDEs that would be helped via this proposed change have "PEP8
> > modes" turned on *by default*!
> > http://blog.jetbrains.com/pycharm/2013/02/long-awaited-pep-8-checks-on-the-fly-improved-doctest-support-and-more-in-pycharm-2-7/
> >
> > It seems like an unwise step to continue stuffing things into the PEP8
> > brand bag as a result if that stuff is only meant to apply to the
> > stdlib.
> 
> Clarifying what constitutes an internal interface in a way that
> doesn't require renaming anything is a necessary prerequisite for
> bundling or bootstrapping the pip CLI in Python 3.4 (as pip exposes
> its internal implemetnation API as "import pip" rather than "import
> _pip" and renaming it would lead to a lot of pointless code churn).
> Without that concern, the topic never would have come up.
> 
> Yes, this new section may give the PEP 8 prescriptivists more
> ammunition to complain about existing projects with different coding
> standards not complying with the latest standard library guidelines.
> We're not unfamiliar with the complaint, given the number of standard
> library modules (some dating from the 20th century) that don't comply
> with the current incarnation of PEP 8 circa 2013.
> 
> However, PEP 8 is already quite explicit about what we think of that
> kind of behaviour:
> http://www.python.org/dev/peps/pep-0008/#a-foolish-consistency-is-the-hobgoblin-of-little-minds
> 
> PEP 8 is a tool. Like many of the other tools we provide as part of
> Python, it can be abused. However, the likelihood of such abuse is
> *not* an excuse to avoid using the tool appropriately, it's a reason
> to continue the thankless task of trying to educate people on what's
> appropriate and what isn't (and making wholesale changes to working
> code just to comply with a style guide generally isn't appropriate).

Well, I know it's arguing with the umpire at this point, but PEP8
prescriptionism (great word by the way!) is de rigeur these days.  It's
a python-dev perogative to ignore that, but it has consequences that
reverberate further than this maillist.

- C




More information about the Python-Dev mailing list