[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.