[ZDP] BackTalk to Document Zope Developer's Guide (2.4 edition)/Zope Products
webmaster@zope.org
webmaster@zope.org
Sat, 16 Nov 2002 03:35:16 -0500
A comment to the paragraph below was recently added via http://www.zope.org/Documentation/Books/ZDG/current/Products.stx#3-105
---------------
The basic rule of evolving interfaces is *don't do it*. While you are
working privately you can change your interfaces all you wish. But
as soon as you make your interfaces public you should freeze
them. The reason is that it is not fair to users of your
interfaces to changes them after the fact. An interface is
contract. It specifies how to use a component and it specifies how
to implement types of components. Both users and developers will
have problems if your change the interfaces they are using or
implementing.
% Anonymous User - Jan. 15, 2002 11:35 am - typo: /changes/change/
% Anonymous User - Nov. 16, 2002 3:35 am:
I don't think 'fairness' cuts any ice in a technical discussion. Rather, explain how changing an interface
will likely 'break' any existing code dependent on the contract(s) implicit in that interface.