Don’t document the program; program the document.

- Unknown



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.


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


Additional Resources