Documentation

Don’t document the program; program the document.

- Unknown

Video

Documentation

Documenting all software is important, but just like testing, selecting the appropriate level and strategy depends on the type of software and its audience. For example, a simple script for producing a figure for a report will be documented very differently from a popular open-source library. It’s not a coincidence that some of the most popular python packages are also the best documented. However, it’s not the volume of documentation that counts, but quality.

Types of documentation include code comments, docstrings, readmes, tutorials, how tos, quickstarts, references, etc. Each one has its place.

Objectives

In this module we will learn about:

  1. Writing effective code comments (and code that needs less of them)
  2. Python docstrings
  3. Creating effective introduction/tutorial documentation
  4. Technical references
  5. Documentation build systems

Reading

Additional Resources