On 2009-09-21 10:09+0200 Werner Smekal wrote: > Hi, >> >> One thing I've been doing in my professional projects of late, is using >> doxygen. I find the standard doxygen style that depends on all the '*' >> characters to be really ugly, but since I mostly code in C++, there is the >> alternative of ///, which annoys me, but not as badly as " * ", plus those >> dorky header/trailer tokens. >> >> I've not tried doxygen on a C code base before, so I'm not sure if there >> are >> options that are more visibly appealilng than the standard/default. >> Without >> looking into it a bit first, I'm not in a postion to propose a specific >> style >> for function comment blocks. But I thought I throw out the doxygen option >> in >> case anyone else is interested in that, and able to summarize some of the >> options. > > Since I use myself doxygen a lot for my own code, I started to "doxyfy" the > PLplot source code. I added a Doxygen configuration file and changed on > source code file (plpage.c) so that Doxygen can filter the description for > the functions. I copied the output of doxygen to the net: > > http://www.miscdebris.net/plplot_doxygen/ > > You need to click "File List" on the left and then "plpage.c" to see some > source code documentation > I did that, since I regularly wander around the plplot core code not finding > what I need and I know that doxygen makes that a lot easier with cross > references and so on. Question is now, > > 1) if everybody agrees to "doxyfy" the plplot source code > 2) if everybody agrees how I documented the functions > > If it's ok, then I start the doxyfying process and everybody else is welcome > to join.
Hi Werner: I think this would be a superb and powerful replacement for our normal in-source documentation. I have a small amount of experience with doxygen via the libLASi project and was much impressed by it. Following your instructions above to refer to plpage (and the functions defined within that source code) confirmed just how useful this could be to us. I must emphasize this should be seen as excellent supplement to our already existing DocBook form of API documentation. doxygen is good at giving the quick details an experienced PLplot library developer needs plus all the important internal cross-references for our implementation. In contrast, our DocBook form of API documentation can be more general; it should be aimed more for external programmers who are using our API but who have no need to know about the internal details of our implementation of that API. So, yes please, go ahead as far as I am concerned with "doxygenating" our in-source documentation. However, I do have some further comments and suggestions. * We mostly do this already with our in-source documentation, but I wanted to mention the general principle of keeping the doxygen form of that documentation as short as possible for each of our functions (e.g., use one sentence rather than a paragraph to describe the function or one of its parameters). This documentation should be considered a short reminder aimed at experienced PLplot library developers and not something more comprehensive that you might expect from our DocBook form of API documentation. I think the current level of detail we have for plgspa (http://www.miscdebris.net/plplot_doxygen/plpage_8c.html#ac9d7c35262ab1c80cc1ed9bf15f7f128) is just about right. So this is not a criticism of what we have now. Instead, I just wanted to state the principle to be clear how this documentation potentially differs in brevity from the DocBook form of our API documentation. * For each of our functions please put in a cross-reference to the website form of documentation for that same function that is generated by DocBook in order to give everybody access to the broader overview that implies. * Currently those DocBook-generated URL's are in the versioned form http://plplot.sourceforge.net/docbook-manual/plplot-html-5.9.5/*.html. Regardless of how this doxygen project goes, I plan to change those URL's to the unversioned form, i.e., http://plplot.sourceforge.net/docbook-manual/plplot-html/*.html since it should help other websites as well as our doxygen-generated one to have a constant URL to refer to for our html documentation generated by DocBook. Anyhow, assume the unversioned form when doing the cross-references from the doxygenized code comments. * The URL's for the current form of our doxygen documentation are a mess (as can be seen from the form of plgspa URL above). Is there a configuration parameter to shorten those to something that is comprehensible (and thus guaranteed to be constant) such as .../plplot_doxygen/plpage.c_plgspa.html? I think we should cross-reference every doxygen function reference from our corresponding DocBook API documentation, but this is only practical with a non-changing form of URL for everything that doxygen documents. You may have that already, but a comprehensible URL without a bunch of random numbers in it is useful in many other ways as well. * Location. The generation of documentation in doxygen form should be part of our release tarball and also our SourceForge website. I would be happy to help out there by doing the appropriate changes to our build system and making an additional script to populate our website with the results. To move forward with this, please send me the doxygen commands you recommend to generate the html version of our doxygen results in our build tree. I can take it from there. Alan __________________________ Alan W. Irwin Astronomical research affiliation with Department of Physics and Astronomy, University of Victoria (astrowww.phys.uvic.ca). Programming affiliations with the FreeEOS equation-of-state implementation for stellar interiors (freeeos.sf.net); PLplot scientific plotting software package (plplot.org); the libLASi project (unifont.org/lasi); the Loads of Linux Links project (loll.sf.net); and the Linux Brochure Project (lbproject.sf.net). __________________________ Linux-powered Science __________________________ ------------------------------------------------------------------------------ Come build with us! The BlackBerry® Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9-12, 2009. Register now! http://p.sf.net/sfu/devconf _______________________________________________ Plplot-devel mailing list Plplot-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/plplot-devel