- 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