[Zope-dev] RFC: Python/Zope Interfaces

Michel Pelletier michel@digicool.com
Fri, 24 Nov 2000 15:01:15 -0800


Lalo Martins wrote:
> 
> On Fri, Nov 24, 2000 at 08:11:48AM -0800, Michel Pelletier wrote:
> > Python Interface Proposal
> >
> >   I have been working on a proposal for enhancing the existing interface
> >   documentation in Zope.  The Wiki for this project can be found here:
> 
> As far as what's written on the proposal is concerned, I like it.
> 
> Technically, I have one objection to the interface
> documentation system:
> 
> Why must I create a new "dummy" Python file? Why can't the
> system extract the data from the Python source itself?

You can, of course, because you can just pass the Interface costructor a
class.  Keep in mind that DC's way of doing interfaces in Zope is one
particular policy that you can take or leave irrigardless of how you use
the Interface package.

> Duplicating work is never good, and there are even people who
> like literate programming :-)

Yes, for those of you, I salute.  Also, if you can, right from the
beginning, write your code in one certain way (prose doc strings,
private methods begin with _, etc) then by all means, go for it.  For
trying to ply interfaces onto a system of code like Zope that was never
written with, uh, literate programming in mind, it is better, cleaner,
and more assertive to describe the interface seperately.

Also, defining the interface seperately keep the two things apart,
impementation and interface, and doesn't allow you to sneak in a new
method unless you also sneak it into the interface, thus making a
stronger "contract" with the user.

-Michel