[Zope-dev] Interfaces vs ZCA concepts

Martijn Faassen faassen at startifact.com
Fri Dec 18 14:53:27 EST 2009


Hey,

Tres Seaver wrote:
[let's not suddenly change the behavior of __call__ for backwards 
compatibility reasons]

> If so, that code is already broken:  it depends on an undocumented
> implementation detail (of a non-API method).  The patch makes the
> __call__ method an API, and documents the (new) exception type. Anybody
> whose code breaks when this happens can hold off upgrading
> zope.interface until they fix that usage.

Documentation status aside, are you really maintaining that a feature 
that people have been using for many years is not actually part of the 
API? So that we can change willy-nilly without any concern for backwards 
compatibility?

If you do insist on taking that position, then please note that while 
API may not be documented in zope.interface it is certainly documented 
in other places. The __call__ behavior and the TypeError behavior for 
instance is documented in at least one published book (see bottom of the 
page):

http://docs.zope.org/zope3/Book/ifaceschema/interface/show.html

Documented for years.

[snip part where changing the name of a parameter is also fine as it's 
undocumented]

-1 against merging this.

Regards,

Martijn



More information about the Zope-Dev mailing list