1e41f4b71Sopenharmony_ci# Native接口文档注释
2e41f4b71Sopenharmony_ci
3e41f4b71Sopenharmony_ci> **说明:** 
4e41f4b71Sopenharmony_ci>
5e41f4b71Sopenharmony_ci> Native API文档由中文头文件生成,中文头文件应遵循以下注释规范才能生成对应文档。
6e41f4b71Sopenharmony_ci
7e41f4b71Sopenharmony_ci## Module的注释
8e41f4b71Sopenharmony_ci
9e41f4b71Sopenharmony_ci```
10e41f4b71Sopenharmony_ci/**
11e41f4b71Sopenharmony_ci * @addtogroup 模块名
12e41f4b71Sopenharmony_ci * @{
13e41f4b71Sopenharmony_ci * 
14e41f4b71Sopenharmony_ci * @brief 一句话描述该库的作用。(请使用动宾结构,如:实现XX功能。)
15e41f4b71Sopenharmony_ci * 
16e41f4b71Sopenharmony_ci * 详细描述该模块的主要功能、使用场景和使用建议。尤其对这个模块中涉及的逻辑概念,相互关系,在应用中的作用进行说明。
17e41f4b71Sopenharmony_ci * 介绍这个概念的功能;然后介绍下简单的使用方法
18e41f4b71Sopenharmony_ci * 详细描述中,如果有多个段落,每段必须以“\n”结束。\n
19e41f4b71Sopenharmony_ci *
20e41f4b71Sopenharmony_ci * @since OS的版本号
21e41f4b71Sopenharmony_ci */
22e41f4b71Sopenharmony_ci
23e41f4b71Sopenharmony_ci...
24e41f4b71Sopenharmony_ci
25e41f4b71Sopenharmony_ci/** @} */ (如果需要将头文件中具体函数划分到该模块中,则在文件最后加上/** @} */ )
26e41f4b71Sopenharmony_ci```
27e41f4b71Sopenharmony_ci
28e41f4b71Sopenharmony_ci## 文件File的注释
29e41f4b71Sopenharmony_ci
30e41f4b71Sopenharmony_ci```
31e41f4b71Sopenharmony_ci/**
32e41f4b71Sopenharmony_ci * @file 头文件名
33e41f4b71Sopenharmony_ci * 
34e41f4b71Sopenharmony_ci * @brief 一句话简要描述该头文件的作用。
35e41f4b71Sopenharmony_ci *
36e41f4b71Sopenharmony_ci * 详细描述该类或接口的主要功能、使用场景和使用建议。覆盖该类的主要功能、使用场景和使用建议。尤其对这个类涉及的逻辑概念,相互关系,在应用中的作用进行说明。\n
37e41f4b71Sopenharmony_ci * 详细描述中,如果有多个段落,每段必须以“\n”结束。\n
38e41f4b71Sopenharmony_ci * @library 引用头文件接口,需要链接的so名字
39e41f4b71Sopenharmony_ci * @syscap 后面跟着这个头文件属于的syscap能力
40e41f4b71Sopenharmony_ci * @since OS的版本号
41e41f4b71Sopenharmony_ci */
42e41f4b71Sopenharmony_ci```
43e41f4b71Sopenharmony_ci
44e41f4b71Sopenharmony_ci## 宏定义/变量/常量的注释
45e41f4b71Sopenharmony_ci
46e41f4b71Sopenharmony_ci```
47e41f4b71Sopenharmony_ci/**
48e41f4b71Sopenharmony_ci * @brief 一句话简要描述该宏定义/常量/变量的含义。
49e41f4b71Sopenharmony_ci *
50e41f4b71Sopenharmony_ci * 详细描述该宏定义/常量/变量的作用、使用限制和建议、取值范围,以及取到边界值、非法值的后果。\n
51e41f4b71Sopenharmony_ci * 详细描述中,如果有多个段落,每段必须以“\n”结束。\n
52e41f4b71Sopenharmony_ci * 
53e41f4b71Sopenharmony_ci * @deprecated (可选)since OS的版本号 标记从什么版本开始废弃此变量,后面需要写明使用替代的方法
54e41f4b71Sopenharmony_ci * @since OS的版本号
55e41f4b71Sopenharmony_ci */
56e41f4b71Sopenharmony_ci```
57e41f4b71Sopenharmony_ci
58e41f4b71Sopenharmony_ci## 结构体Struct和联合体Union的注释
59e41f4b71Sopenharmony_ci
60e41f4b71Sopenharmony_ci```
61e41f4b71Sopenharmony_ci/**
62e41f4b71Sopenharmony_ci * @brief 一句话简述该结构体或联合体的作用。
63e41f4b71Sopenharmony_ci * 
64e41f4b71Sopenharmony_ci * 详细描述该结构体或联合体的作用、使用场合和建议等。\n
65e41f4b71Sopenharmony_ci * 详细描述中,如果有多个段落,每段必须以“\n”结束。\n
66e41f4b71Sopenharmony_ci * 
67e41f4b71Sopenharmony_ci * @deprecated (可选)since OS的版本号;标记位废弃的接口,需要加上这个标记,后面写明从什么版本开发废弃,使用什么接口代替
68e41f4b71Sopenharmony_ci * @since OS的版本号
69e41f4b71Sopenharmony_ci */
70e41f4b71Sopenharmony_cistruct StructName { 
71e41f4b71Sopenharmony_ci/** 描述成员1的含义。 */
72e41f4b71Sopenharmony_ciunsigned long StructMember1;
73e41f4b71Sopenharmony_ci/** 描述成员2的含义。 */
74e41f4b71Sopenharmony_ciunsigned long StructMember2;
75e41f4b71Sopenharmony_ci/** 描述成员3的含义。 
76e41f4b71Sopenharmony_ci * @since(可选) OS版本号,当新增域时,与结构体总的引入版本号不一样的时候,需要写上since,表明这个域新增版本。
77e41f4b71Sopenharmony_ci */
78e41f4b71Sopenharmony_ciunsigned long StructMember3;
79e41f4b71Sopenharmony_ci};
80e41f4b71Sopenharmony_ci```
81e41f4b71Sopenharmony_ci
82e41f4b71Sopenharmony_ci## 枚举Enum的注释
83e41f4b71Sopenharmony_ci
84e41f4b71Sopenharmony_ci```
85e41f4b71Sopenharmony_ci/**
86e41f4b71Sopenharmony_ci * @brief 一句话简述该枚举的作用。
87e41f4b71Sopenharmony_ci *
88e41f4b71Sopenharmony_ci * 详细描述该枚举的主要功能、使用场景和使用建议。\n
89e41f4b71Sopenharmony_ci * 详细描述中,如果有多个段落,每段必须以“\n”结束。\n
90e41f4b71Sopenharmony_ci * 
91e41f4b71Sopenharmony_ci * @deprecated (可选)since OS的版本号;标记位废弃的接口,需要加上这个标记,后面写明从什么版本开发废弃,使用什么接口代替
92e41f4b71Sopenharmony_ci * @since OS的版本号
93e41f4b71Sopenharmony_ci */
94e41f4b71Sopenharmony_cienum EnumName {
95e41f4b71Sopenharmony_ci    /** 描述枚举值1的含义 */
96e41f4b71Sopenharmony_ci    EnumMermber1,  
97e41f4b71Sopenharmony_ci    /** 描述枚举值2的含义 
98e41f4b71Sopenharmony_ci     * @deprecated(可选) since OS的版本号;当需要废弃某个枚举值,需要标记从什么版本开始废弃。废弃后不要删除,尤其是顺序编码的枚举值,删除后会导致枚举值变化。
99e41f4b71Sopenharmony_ci     */
100e41f4b71Sopenharmony_ci    EnumMermber2, 
101e41f4b71Sopenharmony_ci    /** 描述枚举值3的含义
102e41f4b71Sopenharmony_ci     * @since(可选) OS版本号,当新增枚举值时,与结构体总的引入版本号不一样的时候,需要写上since,表明这个域新增版本 
103e41f4b71Sopenharmony_ci     */
104e41f4b71Sopenharmony_ci    EnumMermber3 
105e41f4b71Sopenharmony_ci}; 
106e41f4b71Sopenharmony_ci```
107e41f4b71Sopenharmony_ci
108e41f4b71Sopenharmony_ci## 函数Function的注释
109e41f4b71Sopenharmony_ci
110e41f4b71Sopenharmony_ci```
111e41f4b71Sopenharmony_ci/**
112e41f4b71Sopenharmony_ci * @brief 一句话简述该函数的作用。
113e41f4b71Sopenharmony_ci *
114e41f4b71Sopenharmony_ci * 详细描述该函数的主要功能、使用场景和使用建议。\n
115e41f4b71Sopenharmony_ci * 详细描述中,如果有多个段落,每段必须以“\n”结束。\n
116e41f4b71Sopenharmony_ci * 
117e41f4b71Sopenharmony_ci * @param (可选)后接参数名和参数描述,一个参数使用一个@param标记。参数描述写作要点:1.参数的作用、使用限制和建议;2.参数的取值范围,以及取到边界值、非法值的后果;3.如果存在参数设置方面的建议值或经验值,请描述。如果该方法没有参数,则请删除该标记。
118e41f4b71Sopenharmony_ci * @return (可选)后接返回描述,对此函数会返回的每个返回值进行详细说明其含义。如果该函数没有返回值,则请删除该标记。
119e41f4b71Sopenharmony_ci * @see (可选)当存在与该函数相关联的函数时(功能相近或者存在关系),可以通过@see建立到参考函数的链接。如果需要链接多个函数,每个函数使用一个@see标记。如果不涉及,则请删除该标记。 
120e41f4b71Sopenharmony_ci * @permission (可选)对权限有要求的接口需要写
121e41f4b71Sopenharmony_ci * @deprecated (可选)since OS的版本号;标记位废弃的接口,需要加上这个标记,并写明从什么版本开发废弃
122e41f4b71Sopenharmony_ci * @useinstead  使用什么接口代替
123e41f4b71Sopenharmony_ci * @since OS的版本号
124e41f4b71Sopenharmony_ci */
125e41f4b71Sopenharmony_ci```