En Sun, 19 Apr 2009 13:43:10 -0300, Emmanuel Surleau <emmanuel.surl...@gmail.com> escribió:

Exploring the Python standard library, I was surprised to see that several packages (ConfigParser, logging...) use mixed case for methods all over the
place. I assume that they were written back when the Python styling
guidelines were not well-defined.

The name policy changed in March 2004. Before that, PEP8 said:

    Function Names

      Plain functions exported by a module can either use the CapWords
      style or lowercase (or lower_case_with_underscores).  There is
      no strong preference, but it seems that the CapWords style is
      used for functions that provide major functionality
      (e.g. nstools.WorldOpen()), while lowercase is used more for
      "utility" functions (e.g. pathhack.kos_root()).

The current version says:

    Function Names

Function names should be lowercase, with words separated by underscores
      as necessary to improve readability.

      mixedCase is allowed only in contexts where that's already the
prevailing style (e.g. threading.py), to retain backwards compatibility.

Given that it's rather irritating (not to mention violating the principle of least surprise) to have this inconsistency, wouldn't it make sense to clean
up the API by marking old-style, mixed-case methods as deprecated (but
keep them around anyway) and add equivalent methods following the
lowercase_with_underscores convention?

The threading module has such aliases, but there are no plans for mass renaming all the stdlib that I know of. You'll have to live with this inconsistency.

On an unrelated note, it would be *really* nice to have a length property on
strings. Even Java has that!

Why would it be nice to have? I never missed it...

--
Gabriel Genellina

--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to