ソフトウェアドキュメンテーション
これは、多くのプログラマが「ソフトウェアドキュメンテーション」という用語で想定している文書である。ソフトウェア開発では、コードだけでは不十分である。コードと共にそれをどう使うかといった様々な事柄を記述した文書が必要である。このような文書はソースコードに埋め込まれていることが多く、ソースコードを入手すれば同時に参照可能となることが多い。
この文書は非常に技術的で、主にAPI、データ構造、アルゴリズムなどを定義し解説する。例えば、m_name という変数が人間の名前を参照するものである、というような説明が書かれる。コード文書は完全であることが重要だが、同時に保守性を考慮して冗長性をなるべく排除しなければならない。
Doxygen、Javadoc、ROBODoc、POD、TwinText といったツールでコード文書を自動生成できる。これらツールはソースコードからコメントを抜き出して、テキストまたはHTMLの形式でリファレンスマニュアルを作成するものである。
ApiGen - PHP
Ddoc - D言語(GPL)
Doxygen - 各種言語向け(GPL)
Epydoc - Python(MIT License)
HeaderDoc - Apple製、各種言語向け(APSL)
Javadoc - Java
Natural Docs - 各種言語向け(GPL)
NDoc - 共通言語基盤向け(GPL)
phpDocumentor - PHP(LGPL)
ROBODoc - 各種言語向け(GPL)
Sandcastle - C#, VB.NET 向け (Microsoft Public License)
VBDOX - Microsoft Visual Basic(GPL)