[Python-Dev] PEP 8 and optional underscores
Raymond Hettinger
python at rcn.com
Wed Jun 11 20:03:17 CEST 2008
"Function names should be lowercase, with words separated by underscores as necessary to improve readability." -- PEP 8
If I'm reading this correctly, then underscores are not required everywhere. Can some of these be shortened?
function:: active_count()
method:: Thread.get_name()
method:: Thread.is_alive()
method:: Thread.is_daemon()
method:: Thread.set_daemon(daemonic)
In some cases, the mental pronounciation changes and affects my perception of meaning. For example, Thread.setName or
Thread.setname both feel like a setter to me, but Thread.set_name causes a mental pause and a momentary double-take (is it the name
of a set?).
A few months ago, I think there was a PEP 8 discussion rejecting suggestions to make underscores required everywhere (leading to
getattr-->get_attr, iteritems-->iter_items, staticmethod->static_method, setdefault->set_default, popitem->pop_item,
splitlines->split_lines etc.)
Perhaps underscores should only be used when the contracted form lacks clarity.
Food for thought,
Raymond
More information about the Python-Dev
mailing list