There must be some text along with it to describe various aspects of it. Code Documentation - This is what I think many programmers think of with the word documentation . This writing is highly technical and is mainly used to define and explain the API 's and data structures. It is important for the code documents to be thorough, but not so verbose that it becomes difficult to maintain them. Code documents are often organized into a reference guide style, allowing a programmer to quickly look up an arbitrary function or class.
Programmer s really like the idea of auto-generating documentation for various reasons.
Some would characterize this as a pro rather than a con. User Documentation - unlike code documents, user documents are far divorced from the source code of the program, and instead simply describe how it is used. The user documents would describe each feature of the program, and the various steps required to invoke it. A good user document would also go as far as to provide thorough troubleshooting assistance. It is very important for user documents to not be confusing, and for them to be up to date.