[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