[Python-Dev] Organization of ABC modules

Guido van Rossum guido at python.org
Sun Jan 27 17:53:55 CET 2008


On Jan 27, 2008 12:29 AM, Jeroen Ruigrok van der Werven
<asmodai at in-nomine.org> wrote:
> This will be a bikeshed argument until Guido speaks out his
> preference/decision I guess.
>
> But isn't it a more common solution to name the base class just Number and
> derive from it by means of using Base.Number or something similar? Looks
> cleaner to me rather than all these odd looking pre- or suffixes. (I am not
> charmed about ABC in the name at all to be honest, doesn't really give me a
> Python feeling.)

My preference is still *not* to use a naming convention. I just
suggested it as a lesser evil compared to segregating all abstract
base classes in an "abc" package ghetto. I really don't see why names
like "Number" or "MutableSequence" would need any additional help to
make the reader see they are abstract.

I note that at least for built-in types there will be the naming
convention that concrete implementation classes are all lowercase,
like int, float, list, namedtuple, defaultdict, and so on, while the
ABCs all have a Capitalized[Words] name: Hashable, Number, Real,
MutableMapping, etc.

-- 
--Guido van Rossum (home page: http://www.python.org/~guido/)


More information about the Python-Dev mailing list