[Python-Dev] Naming conventions in Py3K
Michael Chermside
mcherm at mcherm.com
Fri Dec 30 15:48:19 CET 2005
?!ng proposes:
> Constants in all caps:
> NONE, TRUE, FALSE, ELLIPSIS
>
> Classes in initial-caps:
> Object, Int, Float, Str, Unicode, Set, List, Tuple, Dict,
> and lots of classes in the standard library, e.g.
> anydbm.error, csv.excel, imaplib.error, mutex.mutex...
(All that follows is just my opinion. Feel free to disregard.)
1. PEP 8 is just some recommended conventions, not absolute rules.
2. "None", "True", and "False" are the divinely inspired correct
spellings of these objects. All caps would be incorrect.
3. "object", "int", "float", "str", "unicode", "set", "list",
"tuple", and "dict" all follow the common convention that the
fundamental built-in types are in all lowercase. Note that I
am distinguishing between built-in types and standard library
types. I rather like this convention and would favor keeping
it.
4. I am a big fan of consistancy in naming. I try to follow PEP 8
in my own code, even when I don't think it's as pretty as some
other practice. But I just don't think the consistancy is worth
the cost of breaking existing code. Python 3000 is ALLOWED to
break code, but that doesn't mean it should do so gratuitously
or break more code than necessary.
5. For some of the classes within the standard library I'm much
more open to being convinced. They are less often used, thus
more suitable for a global fix-and-replace or at tweak to the
input statements at the top of the file. Being less frequently
used also means that consistancy in naming is more important
because people don't necessarily use these every day.
-- Michael Chermside
More information about the Python-Dev
mailing list