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” von Joshua Bloch wertvolle Tips.

Joshua Bloch hat bei Sun eines der wichtigsten API der Java-Plattform (nämlich das Java 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.