Martin Gross bio photo

Martin Gross

Solution seeker, building things, often in software.

Twitter Google+ LinkedIn Github

Wenn man sich mit der Entwicklung eines Application Programming Interface (API) befassen will, bekommt man in “How to Design a Good
API and Why it Matters” (http://lcsd05.cs.tamu.edu/slides/keynote.pdf) von Joshua Bloch wertvolle Tips.

Joshua Bloch hat bei Sun eines der wichtigsten API der Java-Plattform (nämlich das http://java.sun.com/docs/books/tutorial/collections/index.html Collections Framework) designt und implementiert. Ausserdem stammt das Buch Effective Java von ihm.

Hier seien nur einige wichtige Kernaussagen aus seinem Vortrag kurz aufgezählt:

  • APIs can be among a company’s greatest assets
    • Customers invest heavily: buying, writing, learning
    • Cost to stop using an API can be prohibitive
    • Successful public APIs capture customers
  • Can also be among company’s greatest liabilities
    • Bad APIs result in unending stream of support calls
  • Public APIs are forever – one chance to get it right
  • Characteristics of a Good API
    • Easy to learn
    • Easy to use, even without documentation
    • Hard to misuse
    • Easy to read and maintain code that uses it
    • Sufficiently powerful to satisfy requirements
    • Easy to extend
    • Appropriate to audience

Absolut empfehlenswert die Präsentation. Die Ratschläge sind sehr umso besser nachvollziehbar, wenn man schon mal mit einem API arbeiten musste, das diesen Namen eigentlich nicht verdient hat.