Sunday, November 7, 2010

Characteristics of a Good API

  • • Easy to learn
  • • Easy to use, even without documentation
  • • Hard to misuse
  • • Expose only what is required
  • • Easy to read and maintain code that uses it
  • • Sufficiently powerful to satisfy requirements
  • • Easy to extend
  • • Appropriate to audience

General Principles
  • API Should Be As Small As Possible But No Smaller
  • Implementation Should Not Impact API
  • Minimize Accessibility of Everything
  • Names Matter–API is a Little Language
  • Documentation Matters
  • Document Religiously
  • Consider Performance Consequences of API Design Decisions
  • Effects of API Design Decisions on Performance are Real and Permanent
  • API Must Coexist Peacefully with Platform

No comments:

Post a Comment