Здравый смысл подсказывает, что блоки комментариев Doxygen должны быть помещены в файлы заголовков, где находятся классы, структуры, перечисления, функции, объявления. Я согласен с тем, что это веский аргумент для библиотек, которые предназначены для распространения без исходного кода (только заголовки и библиотеки с объектным кодом).
НО ... Я думал о прямо противоположном подходе, когда разрабатываю внутреннюю для компании (или как побочный проект для себя) библиотеку, которая будет использоваться с полным исходным кодом. Я предлагаю поместить большие блоки комментариев в файлы реализаций (HPP, INL, CPP и т.д.), чтобы НЕ загромождать интерфейс классов и функций, объявленных в заголовке.
Плюсы:
- Меньше беспорядка в файлах заголовков, можно добавить только категоризацию функций.
- Блоки комментариев, которые предварительно просматриваются при использовании, например, Intellisense, не конфликтуют - это дефект, который я наблюдал, когда у меня есть блок комментариев для функции в файле .H и его встроенное определение находится в том же файле .H но включен из файла .INL.
Минусы:
- (Очевидное) Блоки комментариев не находятся в файлах заголовков, где находятся объявления.
Итак, что вы думаете и, возможно, предлагаете?