> > I believe the best way to generate the Be Book is with Doxygen. > > This is simply the best solution, as it provides easy means to > > maintain the documentation at the core: the header files. [...] > > I think this was discussed before. The problem with Doxygen is that the > doc comments clutter up the headers, and it was more-or-less decided > that we would not do this. I wasn't there when it was discussed, but I don't agree that it clutters up the headers. For example: http://webcvs.kde.org/cgi-bin/cvsweb.cgi/kdelibs/kdecore/kcompletion.h?r ev=1.66&content-type=text/x-cvsweb-markup . Also, with the proper code highlighting, you will clearly see what documentation is and what comment is. And to be honest: I've never looked inside a header to see the API, rather I've looked at the docs. So the header remains to the compiler and the OBOS developer only. Please note that I have no clue how far the place of documentation is 'decided'. > The alternative is to put the comments in the code. Opinions vary on > this. Personally, I think having doc comments in the code distracts from > the readability of the actual code. This is not a big deal when the > comments are sparse, but in the case of the BeBook, the comments will > often be larger than the source code itself. That's more than true. Also, not everything is present in the source files (for example: inline functions). > Third possibility is to put the Doxygen comments in separate files, > which I did for the Midi Kit documentation, see /current/docs/user. It may keep the headers 'clean', however, this means essentially maintaining the header in two places. When you put documentation in headers, you will immediately see which entities are undocumented. If you add new methods, you will instantly see that these still need to be undocumented. Maintaining the documentation in separate files actually makes the documenting process more tedious. Niels