Make interfaces easy to use correctly and hard to use incorrectly
Scott Meyers published a short and succinct guideline on an aspect of interface design. One nice thing is that the design principle that he describes can be applied to C++ class interfaces as well as user interfaces and he gives examples of both.

