2010-07-18 4 views
2

У меня есть некоторые крупные, в основном процедурные коды, которые необходимо хорошо документировать. Обычно это предполагает повторное использование ряда функций, которые должны выполняться в определенном порядке.Doxygen для процедурных программ

Doxygen - отличный продукт, но он, похоже, очень ориентирован на документирование кодов ООП. Кто-нибудь есть какие-либо советы о том, как использовать doxygen естественным образом для документирования процедурной работы?

+0

Если эти функции должны выполняться в определенном порядке, напишите обертку. – user877329

ответ

2

Нет ничего по своей сути ООП о том, как работает кислород. Он просто может извлечь больше информации о OO-коде, потому что в нем есть больше информации (например, графики наследования).

Мы используем doxygen для простого кода C, и он работает так же хорошо, минус информация, которую простая C не предоставляет по сравнению с C++. Просто используйте функции группировки doxygen (@addtogroup и др.), Чтобы организовать сгенерированную документацию, и вам хорошо сделать.

+0

А как насчет типов перечисления, а не только документирования отдельных функций или группировки их, но фактического отображения их в каком-то порядке? Например, основная итеративная часть программы должна вызывать, скажем, 20-40 функций в определенном порядке. Я хотел бы иметь возможность зафиксировать какой-то блок комментариев над каждым вызовом функции в той большой подпрограмме, которая описывает, что делается, и выводить большую рутину как некоторый упорядоченный список. – Aurelius

+0

Если у вас есть куча функций, которые нужно вызывать в определенном порядке, тогда вы должны документировать *, что * в этих API-интерфейсах функций, возможно, группируя их вместе в группе, и в описании группы указано, как они должны использоваться вместе. Но вы не документируете этот факт на сайтах вызовов. – vanza

+0

Спасибо, я попробую сегодня и посмотрю, как это работает. Я предпочел документировать эти вещи на сайтах вызовов, так как это программа CUDA, и способ, с помощью которого ядра вызывается с дополнительными аргументами grid/thread/memory, изменяет поведение самих ядер. то есть информация/аргументы присутствуют на сайтах вызовов, которые не видны в самих функциях. – Aurelius

Смежные вопросы