1 / 21

Doxygen

Doxygen. Presented by Sweatha Viswanathan. Doxygen (pronounced as “Docs-ee-gen”). It is a Documentation generator Free software released under the terms of the GNU General Public License Developed by Dimitri van Heesch

tadhg
Download Presentation

Doxygen

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Doxygen Presented by Sweatha Viswanathan

  2. Doxygen (pronounced as “Docs-ee-gen”) • It is a Documentation generator • Free software released under the terms of the GNU General Public License • Developed by Dimitri van Heesch • (First version borrowed code from DOC++) • Initial release in the year of 1997 • Latest release 1.7.5.1 (August 2011) (This and the next 2 slides are prepared using the information in the wiki page listed Under References)

  3. Operating systems supported: Unix , Linux, MAC OS, Windows (XP/ Vista/ 7) • Some common languages/scripting technologies not supported : VB, Perl, Ruby, Javascript, Tcl

  4. Input & Output Input format Output format C, C++, C#, Java, Objective-C, Python, Fortran, VHDL, PHP HTML, Latex, RTF, XML, PostScript, PDF, MAN pages Doxygen

  5. Install Doxygen from http://www.stack.nl/~dimitri/doxygen/

  6. Straight forward installation

  7. Doxywizard “GUI front end for configuring and running Doxygen.” [http://www.stack.nl/~dimitri/doxygen/doxywizard_usage.html]

  8. Commands • Comment Java Code : /* This…. */ • For Doxygen, enclose commands within: /** This….. */ or /*! This….. */ Few simple Commands: @brief @param @return @enum <name of Enum> @mainpage @todo Find more commands in the folowing link http://www.stack.nl/~dimitri/doxygen/commands.html#cmdreturns

  9. Demo Windows 7/Java/HTML (OS/Input format/Output format)

  10. Sample code snippets with Doxygen commands package personal.trydoxygen; /**@mainpage Welcome * Home page in Doxygen documentation\n * ...\n * ...\n * ...\n * ...\n * ...\n * */ publicclass MainClass{ publicstaticvoid main(String[] args) { Mymathfunctions mathObj = new Mymathfunctions(); StringFunctions strObj = new StringFunctions(); } }

  11. /*! * This method returns the sum of two integers. * @param a It is the first integer to be added. * @param b It is the second integer to be added. * @return The value returned is the sum of 2 arguments. * */ publicint sumInteger(int a,int b) { return a+b; }

  12. Did you know? Answer: No Question 1: If I use “@mainpage” in more than 1 class(file), will the individual contents be joined in the documentation? C:/EclipseWorkspace/DemoDoxygen/src/personal/trydoxygen/MainClass.java:12: warning: Compound personal::trydoxygen::MainClass is not documented. C:/EclipseWorkspace/DemoDoxygen/src/personal/trydoxygen/Mymathfunctions.jav a:3: warning: found more than one \mainpage comment block! Skipping this block.

  13. Question 2: If instead of @param, I mistype it as @params, what happens? public class Mymathfunctions { /*! * This method returns the sum of two integers. * @params a It is the first integer to be added. * @param b It is the second integer to be added. * @return The value returned is the sum of 2 arguments. * */ public int sumInteger(int a,int b) { return a+b; } }

  14. Question 2 contd… Answer: That argument does not get documented. C:/EclipseWorkspace/DemoDoxygen/src/personal/trydoxygen/Mymathfunctions.java:11: warning: Found unknown command `\params' C:/EclipseWorkspace/DemoDoxygen/src/personal/trydoxygen/Mymathfunctions.java:10: warning: The following parameters of personal::trydoxygen::Mymathfunctions::sumInteger(int a, int b) are not documented: parameter 'a'

  15. Can you spot any error? /** * This method returns the value on dividing one number with other number. * @param a It is the first argument of this method. * @param b It is the second argument of this method. * @return The value returned is the value obtained on dividing c by d. * */ public double divideIntegers(int c,int d) { double result; if(d!=0) result=c/d; else result=1000000.50; return result; }

  16. No copy paste Errors… • We need to be careful when we write 

  17. Why did I choose this tool? Not because I have used it extensively for the past X years… • But because, • It is used in software industry • The first time I used this tool, I felt nice to have known • about it. I felt that it is a good piece of information to • share with you all. • Hope you guys liked it!!!

  18. References 1) http://www.stack.nl/~dimitri/doxygen/ 2) http://en.wikipedia.org/wiki/Doxygen 1) http://www.stack.nl/~dimitri/doxygen/ 2) http://en.wikipedia.org/wiki/Doxygen

  19. Thank you.

More Related