Up Next
Go up to Documentation Requirements and Guidelines
Go forward to User documentation of generic software components

User documentation vs. design documentation vs. code documentation

User documentation should not refer to the implementation design, except perhaps to help explain how components fit together (the framework); if it refers to the algorithms, data structures, or actual code, it should be only for the benefit of users who may like to know, but the information given should not be essential to proper use of a component.

For example, consider the SGI STL sort function description, which describes

Whether it uses quicksort, merge sort, radix sort, heapsort, etc., is not (necessarily) of interest to the user. But note that for this to be true, all three of the above parts of the description must be present.

It might be mentioned in the documentation that (a version of) quicksort or introsort is the algorithm used to implement the component, but it should not be necessary for the user to know this.

User documentation is also a contract that must be maintained when code (and perhaps the whole implementation design) later changes.


 

Up Next