This page contains some of the desirable attributes an API should display.
These are the attributes against which the API and API documented are judged.
- Presentation Guidelines
- Purpose
- What does this API do? Why advantages gain to people who use it?
- How does this API fit in with the other parts of the system in which
it's used?
- What conditions must be satisfied before this API can be used?
- Overall Structure
An API's overall structure are the large pieces constitute the API. A Java
API's large pieces would be packages and classes.
- What are the major components of the API?
- What is the relation among the API's major components?
- Detailed Structure
Once the major components and their relations have been described, the last
unknown is features of major components aren't other major components (the
leaves of the major component tree).
- What does the feature do?
- What are the necessary conditions for the feature to be used
successfully?
- What are the results of using the feature correctly?
- What error conditions or exceptions are invoked if the feature is
used incorrectly?
- Design Guidlines
- Completness: the design should allow for the functions described
in the documentation.
- Consistency: Features similar in use or results should be similar
in design.
- Necessary consistency violations should be documented and justfied.