At 01:49 AM 6/26/2015 -0400, you wrote:
Woody,
I would strongly disagree about adding that functionality directly into doxygen. In its normal usage, it totally should not be changing the source base, and for that to happen with just an option change. The code to add the comment frames into the source files would be a much simpler program than doxygen itself, and if such a feature was added, having a separate executable makes much more sense to me.

That sounds logical, which is why I said, "have it generate a diff-merge" file that can be run through a diff merger.

I'm kind of comparing what the old c-doc did. For a large program that does not have doxygen headers, it would take a large amount of time to go through and add them. Doxygen *could* create a diff-merge file though pretty easily. It would not add the comments to the source, just make a file that could be run through a diff merger.

Cdoc would do this for you, but it was an option to add the comments to the file. typically you did it once. As you can see, this was done back in 2004. The code is now 11 years old, and this has never been updated, primarily because C-Doc isn't around any more.:, secondarily because I
don't have the documentation for the version of C-Doc that I  do have.

Of course, this isn't doxygen compliant, obviously, since doxygen wasn't around in the 1980's when C-Doc was first created.

/*FF***********************************************************************
FUNCT: update_intensity                                  2004/09/22 14:29
                                  USERS:
main update_current_values
                                  DEFIN:
INTENSITY_ALLOWED INTENSITY_MODIFY INTENSITY_OVERIDE USER_MAX_INTS
                                  GLOBL:
control_arrays.intensity_array control_arrays.permission control_arrays.table_pointer control_arrays.table_pointer->intensity_maximum control_arrays.table_pointer->intensity_minimum control_arrays.table_pointer->intensity_type current_intensity current_user_intensity
                                  PARAM:
flags next_entry
                                  LOCAL:
permit
**************************************************************************/



I will point out a big reason I don't think you want to do this. Doxygen is fully capable of generating the documentation for objects without the comments being present, and can also generate a list of warning for items that it created documentation without comments.

I have not seen it do any warnings like that todate

 If the default documentation is good enough,

It really isn't. There are lots of holes that I see so far, including no cross reference that gives you all the line numbers where a symbol is used. Especially global variables. I know Doxygen has all the information to do that. Other holes I know Doxygen could fill in with the proper headers, but the syntax of the headers is obtuse at best, and would take a huge amount of time to manually add to any non-trivial program,.

you don't need to add the comments to the code to get them (but I think normally you want to go in and improve on them).

yes, but on a multi thousand line code base that would be very expensive in terms of time and money. It seems so logical to have Doxygen be able to do it for you on a one time basis to get a start. It baffles me that it can't. It certainly has the information. It would make it a much more complete documentation tool.


Having the undocumented warning is a good way to get a task list of stuff that you want to go in to improve. If you automatically add the comments, the warnings go away and you need to do something else to keep track of what is needed to improve the entries.

I would disagree, once the comments are added, and you have the result, then it would be a magnitude easier to tweak them until they were fine. You could always run it once, and save the warning file, then add the comments in. You can always refer to the warning file to go in and clean things up,
but the tool would have saved potentially hundreds of man-hours of time.

Here is the problem. The major use case for doxygen is to come in behind some guy who wrote a bunch of code, and gain some idea of how the code works, so you can maintain it, and create a documentation package for it.

I've been writing code since 1976 for micros, and have made a career as a temp. Ninety percent of the time, I would be coming in to rescue a project where the original programmer left and/or is not contactable (in one case he was in a mental institution, I kid you not). So you take the code, and run it through whatever tools you have so you can pick up and go. Doxygen is most of the way there, but it desperately needs a way to be able to insert the comments it can generate, into the source. C-Doc doesn't exist any more, (though I have an old copy), and no one has the key for the newer copy. Additionally without any kind of manual, it is pretty hard to get the options right.

In this case *I* wrote the code over the past 10 years, and now it needs to be put in shape so someone coming in can maintain it, cause I'm looking retirement in the face. That and we need to document an architecture for IEC 62304 compliance. (this is code for
a FDA cleared micro-current tens unit).

I would have to do extensive editing to the code to embed the comments that doxygen can use to create the documentation correctly.

I have yet to get doxygen to do a flow tree, though I have enabled the "dot" stuff and have graphviz in the path. It created flows only
for certain structures, and those are really not right.


I have two different structures with a common header. I have a structure that just has the common header. So I can tell the compiler to point to the common structure, and information in the common structure area will identify which structure it is, so the run time can know how to handle it. Yes it is weird, but it solved a batch of "incompatible pointer" problems....

What I have been trying to get it to do is something like this

          -------------[update_parameters]
          |                                |
          |                                --------[calls function 2]
          |                                |____[calls function 2]
| |____ [calls function 4]
          |
main- |
         | ---- [calls button scan]
         |------[calls function 5]
         |

etc. the editor I use Source Insight (one of the best editors on the planet in my opinion) will do this, but you have to save screen shots. and by the way, it has a free trial. This feature is the relationship window. You can have multiple windows, each with a different relationship and when you click on a symbol in the code, it will generate a nice graphic for you. Quite impressive.


I am aware that *IF* you have the right headers, Doxygen can do this and a whole lot more.



--
Richard Damon
------------------------------------------------------------------------------
Monitor 25 network devices or servers for free with OpManager!
OpManager is web-based network management software that monitors 
network devices and physical & virtual servers, alerts via email & sms 
for fault. Monitor 25 devices for free with no restriction. Download now
http://ad.doubleclick.net/ddm/clk/292181274;119417398;o
_______________________________________________
Doxygen-users mailing list
Doxygen-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/doxygen-users

Reply via email to