2025-12-13 04:18:16 +09:00

6.9 KiB
Raw Permalink Blame History

Doxygenについて

http://www.doxygen.jp/

https://qiita.com/yuta-yoshinaga/items/84887a89f6a21a7dcfd5

対応言語が豊富

C++,C,Java,Objective-C,Python IDL,FortranVHDL PHP, C#

コメントの書き方

ファイルに記載する情報

/**
 * @file ファイル名.h
 * @brief ファイルの概要をここに記述します。
 * @details 詳細な説明をここに記述します。
 */
////////////////////////////////////////////////////////////////////////////////
/// @file           ファイル名
/// @brief          ファイルの説明
/// @author         作成者
/// @date           ファイル作成年月日
/// $Version:       ファイルバージョン$
/// $Revision:      ファイルリビジョン$
/// @note           ファイルに備考などを明記する場合はここへ書き込む
/// @attention      ファイルに注意書きなどを明記する場合はここへ書き込む
/// @par            History
///                 ファイルに履歴などを明記する場合はここへ書き込む
///
/// Copyright (c) YYYY Sample Inc. All Rights reserved.
///
/// - 本ソフトウェアの一部又は全てを無断で複写複製(コピー)することは、
///   著作権侵害にあたりますので、これを禁止します。
/// - 本製品の使用に起因する侵害または特許権その他権利の侵害に関しては
///   当社は一切その責任を負いません。
///
////////////////////////////////////////////////////////////////////////////////

クラスに記載する情報

/**
 * @class クラス名
 * @brief クラスの概要をここに記述します。
 * @details 詳細な説明をここに記述します。
 */
class クラス名 {
    // クラスのメンバ関数や変数の定義
};

関数・メソッドを記載する

/**
 * @brief 関数の概要をここに記述します。
 * @fn             関数名
 * @param[in] param1 パラメータ1の説明。
 * @param[out] param2 パラメータ2の説明。引数(ポインタ引数等)
 * @return 関数が返す値の説明。
 * @details 詳細な説明をここに記述します。
 * @author  関数作成者名
 * @date    関数作成年月日
 * @version        関数やソースにバージョンを明記する場合はここへ書き込む
 * @note           関数に備考などを明記する場合はここへ書き込む
 * @attention      関数に注意書きなどを明記する場合はここへ書き込む
 * @par            History
 */
int 関数名(int param1, int &param2);

メンバ変数

class クラス名 {
public:
    /**
     * @var        変数名
     * @brief メンバ変数の概要をここに記述します。
     */
    int メンバ変数名;
};

 列挙型の説明

/**
 * @enum Enum名
 * @brief 列挙型の概要をここに記述します。
 * @details 詳細な説明をここに記述します。
 */
enum Enum名 {
    ENUM_VALUE1, ///< 値1の説明
    ENUM_VALUE2, ///< 値2の説明
    ENUM_VALUE3  ///< 値3の説明
};

Doxygenのタグをまとめた表

タグ 説明 使用対象
@file ファイルの説明を記述します。 ファイル
@class クラスの説明を記述します。 クラス
@struct 構造体の説明を記述します。 構造体
@enum 列挙型の説明を記述します。 列挙型
@brief 簡単な概要を記述します。 クラス、関数、メンバ変数、構造体、列挙型
@details 詳細な説明を記述します。 クラス、関数、メンバ変数、構造体、列挙型
@param 関数の引数の説明を記述します。 関数
@param[in] 入力パラメータの説明を記述します。 関数
@param[out] 出力パラメータの説明を記述します。 関数
@param[in,out] 入出力パラメータの説明を記述します。 関数
@return 関数の戻り値の説明を記述します。 関数
@retval 特定の戻り値の説明を記述します。 関数
@code @endcode コード例を記述します。 全て
@note 注釈や注意点を記述します。 クラス、関数、メンバ変数、構造体、列挙型
@warning 警告を記述します。 クラス、関数、メンバ変数、構造体、列挙型
@see 参照先を記述します。 全て
@todo 未実装の項目や今後の課題を記述します。 全て
@exception 例外やエラー処理の説明を記述します。 関数
@throw 関数がスローする例外を記述します。 関数
@link リンクを記述します。 全て
@endlink リンクの終了を示します。 全て
@anchor アンカーを設定します。 全て
@ref 他ドキュメント要素への参照を記述します。 全て
@addtogroup グループ化する項目の開始を示します。 全て
@ingroup どのグループに属するかを示します。 全て
@defgroup グループの定義を行います。 全て
@section セクションを定義します。 全て
@subsection サブセクションを定義します。 全て