Re: Circular dependency hell.

Jim Fulton <[email protected]>
Newsgroups gmane.comp.web.zope.devel
Message-ID <[email protected]>
On Tue, Apr 20, 2010 at 3:04 PM, Fred Drake <[email protected]> wrote:
> On Tue, Apr 20, 2010 at 2:58 PM, Christian Theune <[email protected]> wrote:
>> zope.testing uses the attribute '__bases__' to store the information what
>> the base layers are. __*__ are supposedly Python internal attributes.
>> Specifically __bases__ is known to be used to store information which base
>> classes a class has.
>
> This sort of misdirection has, unfortunately, a long history in Zope 3
> (and the various things that's become).  Witness __name__.  (There are
> others, but most aren't *actually* used by Python implementations.)
>
> Removing existing __*__ name ("underware") usage is probably
> untenable, but I hope we can avoid extending our foolishness.

OK, let's stop new uses of __*__ names. We won't provide initializers
for classes, or implement operations either.

The use of protocols like __name__ and __bases__ is intended to
conform to common usage in Python.

Let's invent new names that are specific to our own frameworks.

I can live with saying we shouldn't invent new __*__ names,
even though I consider that a meta protocol.  I get annoyed at
criticism for following standard protocols.

Jim

-- 
Jim Fulton
_______________________________________________
Zope-Dev maillist  -  [email protected]
https://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 https://mail.zope.org/mailman/listinfo/zope-announce
 https://mail.zope.org/mailman/listinfo/zope )
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.