• Make the API modular so it is easy to separate experimental pieces from stable ones. Also, make it extensible.
  • Use the same style and conventions for each class. Document those conventions and impose them as a required standard for contributors.
  • Grow your API by layering new APIs on top of it. Avoid exceeding the current one’s scope.
  • Minimize the visible surface area of the API.
  • Keep your API portable across OSes and don’t let system concepts leak into it.

Full post here, 4 mins read