2019/09/01

Doxygen対応のコメント記載方法(C, C++)

背景


仕事でプログラミングする際に、関数に説明を追加する場合が多いため、Doxygen対応のコメント方法について記載する。

記事の目的


Doxygen対応のコメント記載方法について記す

Doxygen対応のコメント


ここでは、Doxygen対応のコメント記載方法について記す。

ファイルへのコメント

ファイルの先頭に、ファイル内のプログラムの説明を記載する。
  1. /**
  2. * @file ファイル名.h
  3. * @brief 簡単な説明
  4. * @author 書いた人
  5. * @date 作成日付
  6. */

関数へのコメント

関数毎に、関数の説明を記載する。
  1. /**
  2. * @fn func1(int, int)
  3. * ここに関数の説明を書く
  4. * @brief 要約説明
  5. * @param arg1 引数の説明
  6. * @param arg2 引数の説明
  7. * @return 戻り値の説明
  8. * @sa 参照すべき関数を書けばリンクが貼れる
  9. * @detail 詳細な説明
  10. */
  11. void func1(int arg1, int arg2)
  12. {}

変数へのコメント

変数毎に、変数の説明を記載する。
  1. //! 変数へのコメント
  2. int a = 0;

マクロへのコメント

マクロ毎に、マクロの説明を記載する。
  1. /** @def
  2. * マクロのコメント
  3. */
  4. #define MAX_XXX 256

列挙体へのコメント

列挙体毎に、列挙体の説明を記載する。
  1. /**
  2. * @enum Enum
  3. * 列挙体の説明
  4. */
  5. enum Enum {
  6. //! 列挙体の各要素の説明
  7. EnumItem1 = 0x00,
  8. //! 列挙体の各要素の説明
  9. EnumItem2 = 0x01
  10. };

構造体へのコメント

構造体体毎に、構造体の説明を記載する。
  1. /**
  2. * @struct 構造体名
  3. * @brief 構造体の説明
  4. **/
  5. struct Struct{
  6. //! 構造体の各要素の説明
  7. StructItem1 = 0x00,
  8. //! 構造体の各要素の説明
  9. StructItem2 = 0x01
  10. };

クラスへのコメント

クラス毎に、クラスの説明を記載する。
  1. int global_var1
  2. int global_var2
  3. int global_var3
  4. int global_var4
  5. /*! @class Class1
  6. @brief クラスの説明
  7. */
  8. class Class1 {
  9. public:
  10. /*! メンバ1の説明 */
  11. int member1;
  12. int member2; /*!< メンバ2の説明を横につける */
  13. /*! メソッド1の説明 */
  14. int method1(int var1, int var2);
  15. /*! メソッド2の説明。詳細説明
  16. @param[out] var1 var1の説明
  17. @param[in] var2 var2の説明
  18. @param[in,out] var3 var3の説明
  19. @par Refer
  20. - 参照するグローバル変数 global_var1
  21. - 参照するグローバル変数 global_var2
  22. @par Modify
  23. - 変更するグローバル変数 global_var3
  24. - 変更するグローバル変数 global_var4
  25. @return 成功 0, 失敗 0 以外 など
  26. @exception 例外。不要であればnoneを記述
  27. */
  28. int method2(int var1, int var2, int var3) {
  29. ...
  30. }
  31. };

まとめ


  • Doxygen対応のコメント記載方法を調査、記載した

参考文献



変更履歴


  1. 2019/09/01: 新規作成

0 件のコメント:

コメントを投稿

MQTTの導入

背景 IoTデバイスの接続環境構築のため、MQTT(mosquitto)の導入を行った。 記事の目的 MQTT(mosquitto)をUbuntuに導入する mosquitto ここではmosquittoについて記載する。 MQTT MQTT(Message Qu...