Doxygen - Doxygen
Vývojáři | Dimitri van Heesch |
---|---|
První vydání | 26. října 1997[1] |
Stabilní uvolnění | 1.8.20[2] / 24. srpna 2020 |
Úložiště | |
Napsáno | C ++ |
Operační systém | Cross-platform |
Typ | Generátor dokumentace |
Licence | GNU GPLv2 |
webová stránka | www |
Doxygen (/ˈdɒksidʒ.n/ DOK-vidíme-jən )[3] je generátor dokumentace,[4][5][6][7] nástroj pro psaní referenční dokumentace k softwaru. Dokumentace je napsána v kódu a je tak relativně snadné ji udržovat aktuální. Doxygen může porovnávat referenční dokumentaci a kód, takže čtenář dokumentu může snadno odkazovat na skutečný kód.
Doxygen je svobodný software, vydané v souladu s podmínkami Verze GNU General Public License 2 (GPLv2).
Design
Jako Javadoc „Doxygen extrahuje dokumentaci z komentářů ke zdrojovým souborům. Kromě syntaxe Javadoc podporuje Doxygen značky dokumentace používané v souboru Sada nástrojů Qt a může generovat výstup v HyperText Markup Language (HTML ) a také v Zkompilovaná nápověda HTML pro Microsoft (CHM), Formát RTF (RTF), Přenosný formát dokumentu (PDF), Latex, PostScript nebo manuálové stránky.
Použití
Programovací jazyky podporované Doxygenem zahrnují C,[8] C ++, C#, D, Fortran, IDL, Jáva, Cíl-C,[9] Perl,[10] PHP,[11] Krajta,[12][13] a VHDL.[14] Další jazyky mohou být podporovány dalším kódem.
Doxygen běží na většině Unixový systémy, Operační Systém Mac, a Okna.
První verze Doxygenu si vypůjčila kód z rané verze DOC ++, kterou vyvinuli Roland Wunderling a Malte Zöckler na Zuse Institute Berlin. Později kód Doxygen přepsal Dimitri van Heesch.
Doxygen má integrovanou podporu pro generování diagramů dědičnosti pro třídy C ++. Pro pokročilejší diagramy a grafy může Doxygen použít nástroj „tečka“ od Graphviz.[15]
Příklad kódu
Obecnou syntaxí komentářů k dokumentaci je spuštění komentáře s další hvězdičkou za předním oddělovačem komentářů „/ *“:
/**<A short one line description><Longer description><May span multiple lines or paragraphs as needed>@param Popis vstupního parametru metody nebo funkce@param ...@return Popis návratové hodnoty*/
Mnoho programátorů chce označit začátek každého řádku mezerou-hvězdičkou-mezerou, ale to není nutné.
/** * * * * * * @param Popis vstupního parametru metody nebo funkce * @param ... * @return Popis návratové hodnoty */
Mnoho programátorů se vyhýbá používání komentářů ve stylu C a místo toho používají komentáře ve stylu C ++ s jedním řádkem. Doxygen přijímá komentáře s dalším lomítkem jako komentáře Doxygen.
/// ////// /// ////// @param Popis vstupního parametru metody nebo funkce/// @param .../// @return Popis návratové hodnoty
Následující příklad ukazuje, jak a C ++ zdrojový soubor lze dokumentovat.
/** * @soubor * @autor John Doe * @verze 1.0 * * @ sekce LICENCE * * Tento program je svobodný software; můžete jej dále distribuovat a / nebo * upravte jej podle podmínek GNU General Public License as * zveřejněno Free Software Foundation; buď verze 2 z * Licence nebo (podle vašeho uvážení) jakákoli novější verze. * * Tento program je distribuován v naději, že bude užitečný, ale * BEZ JAKÉKOLI ZÁRUKY; bez dokonce předpokládané záruky * PRODEJNOST nebo VHODNOST PRO KONKRÉTNÍ ÚČEL. Podívejte se na GNU * Obecná veřejná licence pro více informací na * https://www.gnu.org/copyleft/gpl.html * * @ sekce POPIS * * Časová třída představuje okamžik času. */třída Čas { veřejnost: /** * Konstruktor, který nastavuje čas na danou hodnotu. * * @param timemillis je počet milisekund * prošel od 1. ledna 1970. */ Čas (int timemillis) { // kód } /** * Získejte aktuální čas. * * @return Časový objekt nastavený na aktuální čas. */ statický Čas Nyní () { // kód }};
Níže je uveden alternativní přístup k dokumentaci parametrů. Vypracuje stejnou dokumentaci.
/** * Konstruktor, který nastavuje čas na danou hodnotu. */ Čas (int timemillis /// ) { // kód }
Je také možné bohatší značení. Například přidejte rovnice pomocí Latex příkazy:
/** * * Vložená rovnice @ f $ e ^ { pi i} +1 = 0 @ f $ * * Zobrazená rovnice: @f [e ^ { pi i} +1 = 0 @f] * */
Zdroj a vývoj kyslíku
Zdroje Doxygen jsou aktuálně hostovány na GitHub, kde hlavní vývojář Dimitri van Heesch přispívá pod uživatelským jménem „doxygen“.[16] Doxygen je napsán v C ++ a zahrnuje více než 300 000 zdrojové řádky kódu. Pro lexikální analýza, standardní nástroj Lex (nebo jeho náhradní Flex) běží na více než 35 000 řádcích lex skriptu. The analýza nástroj Yacc (nebo jeho náhradní Bison) se také používá, ale pouze pro drobné úkoly; převážná část jazykové analýzy se provádí nativním kódem C ++. The proces sestavení je založeno na CMake a také zahrnuje některé skripty Pythonu.
Viz také
Reference
- ^ OZNAM: doxygen 0.1 Archivováno 4. října 2011, v Wayback Machine, Oznámení: první vydání Doxygen, dokumentačního systému C ++. , Od: Dimitri van Heesch, Datum: ne, 26. října 1997, Qt-úrokový archiv
- ^ http://www.doxygen.nl/manual/changelog.html
- ^ FAQ: Jak se doxygen jmenoval?
- ^ Perkel, Jeffrey M. (2015-11-22). „Získejte s programem: DIY tipy pro přidání kódování do vašeho analytického arzenálu“. Vědec (Časopis ). Vědec.
- ^ Sabin, Mihaela (2015-11-22). "Doxygen". OpenComputing (Wiki ). University of New Hampshire. Archivovány od originál dne 2015-11-23.
- ^ "Doxygen". Adresář svobodného softwaru (Wiki ). 2015-11-22.
- ^ "Dokumentace". Rosettský kód (Wiki ). 2015-11-22.
- ^ "Dokumentace: C". Rosettský kód (Wiki ). 2015-11-22.
- ^ "Dokumentace: Cíl-C". Rosettský kód (Wiki ). 2015-11-22.
- ^ http://search.cpan.org/perldoc?Doxygen%3A%3AFilter%3A%3APerl
- ^ http://www.doxygen.nl/manual/starting.html
- ^ „Automatické nástroje pro generování dokumentace k Python API“. wiki python.org (Wiki ). 2015-11-22.
- ^ https://pypi.python.org/pypi/doxypypy/
- ^ http://www.doxygen.nl/manual/starting.html
- ^ http://www.doxygen.nl/manual/diagrams.html
- ^ https://github.com/doxygen/doxygen