Providing the documentation
The final touch to a professional project is the documentation. Undocumented projects are very difficult to navigate and understand when working in teams and when shared with external audiences. I would even go as far as saying that programmers often read their own documentation after stepping away from a specific file to understand what is happening inside.
Documentation is also important for legal and compliance reasons and to inform the users how to act with the software. If time permits, we should invest in setting up documentation for our project.
Documentation usually falls into two categories:
- Technical documentation (covering interfaces, designs, classes, and files)
- General documentation (encompassing all other non-technical documents)
As we saw in Chapter 13, Generating Documentation, much of the technical documentation can be automatically generated with CMake using Doxygen
.