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 )
