[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

AltStyle によって変換されたページ (->オリジナル) /