Game Development Reference
Source code documentation is primarily aimed at developers who want to under-
stand the functionality of a given component without the need to look at the
source code to understand what is going on. The .NET framework has a standard-
ized way to document source code, expressed as XML. Chapter 11, “Code
Documentation with NDoc and XML,” outlines the way Microsoft wants develop-
ers to document source code to remain consistent with the core framework. When
a .NET assembly is compiled, an option exists to export all the XML-based source
code comments to a file that can be referenced by a number of documentation
An excellent tool exists that can take a .NET assembly and the associated XML
comments file and build documentation. The tool is called NDoc, and it supports
pluggable exporters including the MSDN-style HTML Help (.chm), the Visual
Studio .NET format (HTML Help 2), and the MSDN-online style Web pages. This
tool is very popular within the .NET community and is the most commonly used
documentation generator for .NET.
NDoc can be downloaded at http://ndoc.sourceforge.net/.
Usability documentation comes in the form of training manuals or reference
materials that instruct users how to use the tool, or how to solve real-world prob-
lems with the tool. This type of documentation is high level and does not discuss
the inner workings of the software; it merely shows users how to use the tool.
The Documentation section should discuss the documentation standards to use,
such as NDoc or a specific template to use in Microsoft Word. Also describe how
function descriptions, properties, property accessors, and classes are worded.
Testing is a very important part of any software development project, and the
intent of this section is to standardize how testing takes place within the project.
There are different types of testing that can be performed, such as unit, automated,
functionality, and performance. Each type of test should be documented and
should list all the proper procedures and guidelines to follow, along with all the
necessary software to use to perform the testing, such as Rational Robot, ANTS
Profiler, NUnit, and csUnit.