Self-documenting code

In computer programming, self-documenting (or self-describing) source code and user interfaces follow naming conventions and structured programming conventions that enable use of the system without prior specific knowledge.[1][2][3] In web development, self-documenting refers to a website that exposes the entire process of its creation through public documentation, and whose public documentation is part of the development process.[4]


Commonly stated objectives for self-documenting systems include:


Self-documenting code is ostensibly written using human-readable names, typically consisting of a phrase in a human language which reflects the symbol's meaning, such as numberOfWordsInThisArticle or TryOpen. The code must also have a clear and clean structure so that a human reader can easily understand the algorithm used.

Practical considerations

There are certain practical considerations that influence whether and how well the objectives for a self-documenting system can be realized.

See also


  1. Schach, Stephen R. (2004). Object-Oriented and Classical Software Engineering. McGraw-Hill Professional. ISBN 0-07-286551-2.
  2. "The Myth of Self-Describing XML" (PDF). Retrieved 2009-06-02.
  3. (See e.g., Use–mention distinction, Naming collision, Polysemy)
  4. "Self Documenting Websites". Retrieved 2016-01-04.

External links

This article is issued from Wikipedia - version of the 7/29/2016. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.