[DAS2] Notes from the weekly DAS/2 teleconference, 22 May 2006

Steve Chervitz Steve_Chervitz at affymetrix.com
Mon May 22 19:48:13 UTC 2006


Forgot to mention one more item of interest from the JavaOne meeting:

Steve wrote:
> sc: no writeback related work, but attended the JavaOne meeting last
> week. Some things of interest to our work:
>...

6) Probably the most relevant to this group was a talk called,
   "How to write an API that will stand the test of time". While it
   was definitely java-centric, there are some nuggets that apply to
   any software or spec writing team:
    * Be use-case driven
        - focus on what people need now, not what might be useful later.
    * Expose only necessary functionality
        - minimize your API's "surface area". This means less for
          users to learn, and less for devs to implement and maintain.
    * Be predictable and consistent
        - an interface that is predictable serves better than one
          which is locally optimal but inconsistent within the
          framework.
    * Design to test
        - write tests to fully cover API functionality.
    * Always think about evolution
        - the first version is never perfect.
        - allow for the co-existence of multiple versions.
    * An anti-example: The JavaMail API, which is optimized for
      implementing new wire protocols, not for the bulk of potential
      users who just want to read/send mail.
    * Links: 
       - http://openide.netbeans.org/tutorial/api-design.html
       - http://www.artima.com/apidesign/index.html


Steve




More information about the DAS2 mailing list