On Sun, May 26, 2013 at 7:48 PM, Sébastien Durand firstname.lastname@example.org wrote:
"There should be one-- and preferably only one --obvious way to do it."
We all love this mantra.
But one thing that often confuses people : function naming. The standard library is kind of inconsistent. Some functions are separated by underscores and others aren't. It's not intuitive and new pythonistas end up constantly reading the doc. (Time saving one char typing vs time guessing function names.)
Would it be a good idea to clarify PEP 8 on this ? I mean for future libraries.
As far as I am aware, there's nothing to clarify: new code should use underscores as word separators, code added to an existing module or based on existing API should follow the conventions of that module or API. This is what PEP 8 already says.
The standard library is inconsistent because it's a 20 year old code base with severe backwards compatibility constraints, and much of it was written before there was even a PEP process, let alone PEP 8.
We did do one wholesale conversion to PEP 8 compliance (for the threading module) and decided the cost/benefit ratio was too low to justify ever doing that again. We do have a general guideline requiring PEP 8 compliance for *new* modules added to the standard library.
-- Nick Coghlan | email@example.com | Brisbane, Australia