[Python-Dev] PEP 8 updates/clarifications
Guido van Rossum
guido at python.org
Thu Dec 15 03:42:25 CET 2005
On 12/14/05, François Pinard <pinard at iro.umontreal.ca> wrote:
> I would like that PEP 0008 add some cement around this idea that common
> English words, properly spelled, which are likely to be user variable
> names, be avoided whenever reasonable.
I don't think that's a reasonable rule. There are too many English
words and the rule as formulated is too vague. Also, module/package
names can only conflict with *global* user variable names.
> * Within "Code lay-out", "Blank Lines", we read:
>
> Separate top-level function and class definitions with two blank lines.
>
> In a running English text (like in this message!), it might make sense,
> but after tried for a long while both a single line and two lines
> between top-level elements in Python programs, I did not see that two
> lines gives so much more legibility to be worth a prescription. One
> white line is enough in my opinion, and I wonder if "with two blank
> lines" could not be replaced by "at least one blank line".
Here I agree, especially bewteen top-level functions. You *might* want
to separate classes with two blank lines if the methods within them
are separated by single blank lines, but even there it's probably
overkill.
>
> * Within "Programming Recommendations", writers are suggested to prefer
> str methods of the string module, as well as a few others more recent
> additions (recent in the history of Python). I wonder if this would not
> be a good place to suggest more of such. These come to mind:
>
> - Replacing "apply(func, args)" with "func(*args)".
> - Replacing "for line in file.readlines():" with "for line in file:".
> - Replacing "for key in dict.keys():" with "for key in dict:".
> - Replacing "if has_key(dict, key):" with "if key in dict:".
>
> and there might be others.
+; however see below.
> Deprecated functions could be listed, too.
I think that's more proper for a separate PEP -- the style guide
shouldn't have to be updated each time something else is deprecated.
--
--Guido van Rossum (home page: http://www.python.org/~guido/)
More information about the Python-Dev
mailing list