Автодокументирование с помощью Doxygen
Doxygen — это кроссплатформенная система документирования исходников, которая поддерживает языки: C/C++, Obj-C, Python, Java, IDL, PHP, C#, Fortran, TCL и VHDL.
Doxygen обеспечивает автодокументирование путем обработки спецкомментариев, размещаемых в исходном коде.
Принцип работы Doxygen следующий: на вход генератора подается код, включающий комментарии специального вида (далее команды или директивы Doxygen), а на выходе получается удобная и хорошо оформленная документация, готовая для распространения и использования.
Команд Doxygen больше 200. Мы рассмотрим только самые нужные из них. Полный список команд-директив приведён в официальной документации.
Де-факто Doxygen стал основным, определяющим стандартом документирования из аннотированных C/C++ исходников. Фактически система работает как компилятор, анализируя спецкомментарии и создавая из них документацию.
Документация извлекается непосредственно из исходного кода, что в дальнейшем значительно упрощает сопровождение, хранение и обновление документации проекта.
Имплементация Doxygen подразумевает внедрение специального синтаксиса, который используется для оформления блоков с комментариями.
Синтаксис Doxygen следует применять для формирования шапок файлов, написания заголовков функций и методов, внутренних комментариев и прочего.
Обычные Си
комментарии, превращаются в документацию путем инъекции в текст специальных тегов, которые указывают Doxygen, что комментарии написаны для него.
В результате, для создания документации достаточно просто писать комментарии в коде, придерживаясь нескольких простых правил.
Для многострочного комментария используется конструкция:
/** ваш комментарий */
Для однострочного комментария используется конструкция:
/// ваш комментарий
Иногда нужно расположить комментарий после, либо на одной строке с описываемым элементом.
Пример:
int x_stdn2_est; /// Подробный комментарий
/// Подробный комментарий продолжение
Отметим, что Doxygen позволяет формировать документацию в нескольких форматах:
• HTML (генерация онлайн документация для WEB браузеров )
• XML
• RTF
• MAN
• LATEX
Также вывод может быть легко конвертирован в CHM, PostScript и PDF формат.
Doxygen портирован на все популярные операционные системы: Mac OS, Linux, Unix и Windows.
Вывод Doxygen может содержать в себе таблицы, списки, ссылки, диаграммы, графы, иерархические указатели и т.п.
Doxygen может помочь вам визуализировать отношения между различными элементами программы, путем отображения графических зависимостей, диаграмм наследования и взаимодействия, которые генерятся автоматически.
Вы также можете настроить работу генератора Doxygen на извлечение структуры кода из недокументированных исходников. Последнее полезно для быстрого поиска нужной информации в большом распределенном проекте.