Classes as namespaces?

Stephen Hansen apt.shansen at gmail.invalid
Sun Mar 28 00:31:16 EDT 2010


On 2010年03月26日 07:49:02 -0700, kj said:
> What's the word on using "classes as namespaces"? E.g.
>> class _cfg(object):
> spam = 1
> jambon = 3
> huevos = 2
>> breakfast = (_cfg.spam, _cfg.jambon, _cfg.huevos)
>>> Granted, this is not the "intended use" for classes, and therefore
> could be viewed as a misuse ("that's what dictionaries are for",
> etc.). But other than this somewhat academic objection[*], I really
> can see no problem with using classes in this way.

On the contrary, this is the intended use of classes. Or at least, one 
of them. A class *is* a namespace, albeit one that you must address 
explicitly unlike the local and global namespaces which are usually 
implicit.
That said...
> [*] My own subjective dislike for the widespread practice of using
> triple quotes to comment out code is formally similar to this one
> ("the 'intended use' for triple-quoting is not to comment out code",
> etc.). Here I find myself on the opposite side of the purist/pragmatic
> divide. Hmmm.

What?!
Where do you get this "widespread practice"? You mentioned that before 
when you last posted about that and I forgot to comment. I've never 
seen it.
In the 110k lines of in-house code I maintain, we don't use it once; we 
have somewhere around 300k lines of third-party code from a wide range 
of sources, and although I haven't reviewed it all by any means, I 
regularly have to peek over it and I never seen triple quoted 
"comments".
Hell, I almost never see commented -code-. Code should only be 
commented while fiddling or debugging. Once fiddlng is done, dead code 
should be removed.
I'm sure it -happens- every once in awhile, but.. why? Who uses editors 
that can't block comment/uncomment anymore? :(
-- 
--S
... p.s: change the ".invalid" to ".com" in email address to reply privately.


More information about the Python-list mailing list

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