7/8/2023 0 Comments Doxygen fortran exampleThe next table lists the 16 classes outside the FEA::FileIO namespace that are used by it (as mentioned in the externals count of the previous table). Unfortunately, for C , this only appears to be the size of the class declaration. If there had been any leaf nodes (in this case classes) at this level, then the next table would have been a list of those classes versus the number of lines of code that they contain as counted by Doxygen. Then the sum of the source lines of code as the tree is traversed is given followed by the result of fitting a log-normal distribution as detailed in Counting Lines of Code, followed by the maximum in the tree. The next two columns are the count of the number of externals that corresponds to the dependencies which form the edges and its maximum value as traverse further down the tree. The next nine columns have formulae based on the number of edges ( E), parts ( P) and nodes ( N), these are discussed in Why Favour the Cyclomatic Number? Specifically, the value at that level in the tree and the sum and maximum over the tree of the three formulas (E P-N)/N, E P-N and N. The first column contains the name of the namespace or class, and the second whether there is a cycle. Then a table with the main statistics calculated from the graph and its subgraphs. A Page of the Doxygen HTML Reportįirstly, a graph showing the dependencies between the namespaces and classes (though there are no classes displayed here) as generated using Dot. The second Doxygen run then creates HTML output by re-parsing the source code and including the output from DeepEnds that was written to Dot\arch.cpp. It uses the default values of the parameters associated with parsing Doxygen XML, these are fine for C but may need to be altered for other languages. The DeepEnds run creates the source file Dot\arch.cpp from the XML files in the directory doxygen\xml, the file dummy.xml does not actually exist. The documentation is generated from a batch file that runs Doxygen to produce XML output which is then fed into DeepEnds to produce a source file containing comments for Doxygen to process. The specific example used for the rest of the article happens to be C code. Among the options available for DeepEnds are reading Doxygen XML and writing a source file with Doxygen comments, in this article both will be illustrated. Trawling through the source code to find and fix these issues can be time consuming so this article analyses some project code with the open source tool DeepEnds ( Visual Studio extension, NuGet package). makes the code fragile to modification and, if they are at the level where it is between binaries, causes build issues. ![]() ![]() When developing a piece of software, the existence of circular dependencies between classes, etc. The generated output is available in a number of formats, of specific interest to this article are HTML and XML. ![]() For input, many languages are natively supported (C/C , C#, D, Fortran, IDL, Java, Objective-C, PHP, Python, TCL, VHDL) with others available by extension (Perl, JavaScript, Object Pascal, Visual Basic, MatLab, Pro*C, Assembly, Lua, GLSL Shader, Qt QML, GOB-doc, Prolog, CAPL). Doxygen is a system for generating documentation from source code (API specifications, class diagrams, caller and callee graphs, etc.) that utilizes special comments.
0 Comments
Leave a Reply. |