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