When I read articles on software development, I often heard of the phrase "clean interface". People talked about clean interface for APIs, and classes.
How do you define "clean interface"? Is there any guideline for designing a system with clean interface?