Doxygen
Doxygen | |
---|---|
![]() | |
![]() | |
Тип | Генератор документации |
Разработчик | Dimitri van Heesch |
Написана на | C++ |
Интерфейс | Qt |
Операционные системы | Linux, Mac OS X, Solaris, Microsoft Windows |
Первый выпуск | 26 октября 1997[1] |
Последняя версия | 1.9.8 (25 Августа 2023) |
Репозиторий | github.com/doxygen/doxyg… |
Лицензия | GNU GPL |
Сайт | doxygen.org |
![]() |
Doxygen — кроссплатформенная система документирования исходных текстов, которая поддерживает C++, Си, Objective-C, Python, Java, IDL, PHP, C#, Фортран, VHDL и, частично, D.
Doxygen генерирует документацию на основе набора исходных текстов и также может быть настроен для извлечения структуры программы из недокументированных исходных кодов. Возможно составление графов зависимостей программных объектов, диаграмм классов и исходных кодов с гиперссылками.
Doxygen имеет встроенную поддержку генерации документации в формате HTML, LAΤΕΧ, man, RTF и XML. Также вывод может быть легко сконвертирован в CHM, PostScript, PDF.
Для html-представления документации, размещаемого на веб-серверах, существует удобный способ организации поиска (при помощи создаваемого Doxygen'ом PHP-модуля) и ссылок на внешнюю документацию.
Doxygen используется многими проектами, в том числе KDE, Pidgin, Torque Game Engine, AbiWord, Mozilla, FOX toolkit, Crystal Space, Drupal. Есть встроенная поддержка в KDevelop.
Doxygen — консольная программа в духе классической Unix. Она работает подобно компилятору, анализируя исходные тексты и создавая документацию. Параметры создания документации читаются из конфигурационного файла, имеющего простой текстовый формат.
Для упрощения манипуляций с конфигурационным файлом (а он содержит довольно много настроек), существует несколько утилит с графическим интерфейсом. Одна из них, doxywizard, поставляется вместе с Doxygen. Ранее она была реализована с использованием Qt версии 3 и имела не очень удобный интерфейс. В качестве альтернативы летом 2008 года вышла альтернативная графическая оболочка Doxygate (https://sourceforge.net/projects/doxygate), которая основана на Qt версии 4. Но вскоре doxywizard был переписан на Qt версии 4 и проект Doxygate был закрыт (см. страницу проекта на sourceforge.net).
История создания
[править | править код]Автором программы является голландец Димитри ван Хееш (Dimitri van Heesch). Во время работы в Quasar Technologies (впоследствии Trolltech и Qt Software) он занимался созданием системы документирования исходного кода для программистов — qDoc. Данная система была написана на интерпретируемых языках. После ухода из Trolltech основал собственный проект — Doxygen, написанный уже на C++ и учитывающий недочёты qDoc. На сегодняшний день Doxygen поддерживает несколько меток (ключей) системы qDoc для совместимости.
Литература
[править | править код]- Martin Reddy. 9. Documentation → 9.4 Using Doxygen // API Design for C++. — Elsevier, 2011. — P. 281-290. — 441 p. — ISBN 978-0-12-385003-4.
- Sandeep Koranne. 3.10 Doxygen // Handbook of Open Source Tools. — Springer, 2011. — P. 90-92. — 484 p. — ISBN 978-1-4419-7718-2.
- Джон Фуско. 4.4.6. Просмотр и создание документации к программному коду при помощи Doxygen // Linux. Руководство программиста = The Linux Programmer's Toolbox. — Питер, 2011. — С. 166-168. — 443 с. — ISBN 978-5-49807-794-9.