[Zope3-dev] Re: Usage of IAnnotations disrespects interface declaration

Christian Theune ct at gocept.com
Sun Dec 17 05:34:45 EST 2006


On Sun, December 17, 2006 10:27 am, Dieter Maurer wrote:
> Christian Theune wrote at 2006-12-11 08:30 +0100:
>> ...
>>> Both are not acceptable, especially option #1. We can't just change
>>> existing contracts as we see fit.
>>
>>Right. However, I think it's possible to regard this is a bug in the
>>original contract.
>
> But, some adapters for "IAnnotations" may not know about the newly
> introduced responsibilities and fail to implement them.
>
> Thus, fixing this "bug" in the proposed way will introduce bugs
> at other places.

Jupp. Is there any technical chance the we can use the deprecation mechanism
or something like this to inform developers that they are not fully
complying to a changed contract?

Still, for me it feels like the original interface should have included this
and I think it would be nice if we have an exit strategy for this (and
similar) situations where the original interface was wrong. I consider
the solution that introduce an additional interface in the long term to be
less than optimal. (Except if someone has a good explanation that I can
give to new developers why we made that distinction in the first place.)

Christian



More information about the Zope3-dev mailing list