Let's say you have to [write from scratch, rewrite, refactor] a sample program illustrating how to do something quite specific with some middleware/SDK/library, or maybe just some programming technique, all of this for learning purposes.
How do you document the sample programs?
I'm asking that because I found that even with complete rewrite of some SDK sample, even with extensive commenting, I feel the need for some high level meta-documentation or comments, or whatever you can call it - some overview page describing what the project is about.
README file for every sample program can do the job, but they don't have the pretty formatting of the wikis, for instance.
- Pros: Simple
- Cons: Too simplistic; Not part of the source files;
Doxygen comments: Do you think that it is possible to write the doxygen comments in a way that each project outputs a Doxygen-generated 'main' page with the
- Pros: Part of the source files; (If possible) Useful hyperlinked documentation main page.
- Cons: None that I can think of
Version Control System + TRAC ticketing/wiki system: Since I use Subversion for my projects, it seems to me that installing TRAC alongside the SVN repo can do the job of documenting the sample programs, but I'm not sure whether this is an overkill because I haven't use TRAC + Subversion in a working environment and I'm not sure of the workflow of usage of TRAC + Subversion, what is usually written in the tickets, wikipages, how all of this is 'connected' to particular revisions of the programs that need to be documented, etc.
- Does the (possibly wild) idea of using TRAC in addition to Subversion repo make sense? Or I'm completely missing the point and the basics of the workflow with SVN + TRAC?
- Pros: Feature-rich
- Cons: (Maybe) an overkill for setup and maintenance