1e41f4b71Sopenharmony_ci# Review Application for the <ApiName\> API in the OpenHarmony <SubsystemName\> Subsystem
2e41f4b71Sopenharmony_ci
3e41f4b71Sopenharmony_ci## Background
4e41f4b71Sopenharmony_ci
5e41f4b71Sopenharmony_ci* API type: [Public API | System API | Test API | HDI]
6e41f4b71Sopenharmony_ci* API requirement source:
7e41f4b71Sopenharmony_ci* API usage scenario:
8e41f4b71Sopenharmony_ci* Belonging subsystem:
9e41f4b71Sopenharmony_ci* Expected API release version:
10e41f4b71Sopenharmony_ci* Contributor:
11e41f4b71Sopenharmony_ci* Number of APIs involved in this review:
12e41f4b71Sopenharmony_ci
13e41f4b71Sopenharmony_ci| Change Type| Quantity| Programming Language|
14e41f4b71Sopenharmony_ci|---|---|---|
15e41f4b71Sopenharmony_ci| Added|  |  |
16e41f4b71Sopenharmony_ci| Behavior changed| |
17e41f4b71Sopenharmony_ci| Deprecated| | |
18e41f4b71Sopenharmony_ci| Deleted| | |
19e41f4b71Sopenharmony_ci
20e41f4b71Sopenharmony_ci## API Description
21e41f4b71Sopenharmony_ci
22e41f4b71Sopenharmony_ci### Necessity of the Changes
23e41f4b71Sopenharmony_ci
24e41f4b71Sopenharmony_ci> Based on the as-is and gap analysis, describe what the application scenarios and benefits of the APIs are.
25e41f4b71Sopenharmony_ci
26e41f4b71Sopenharmony_ci### Feature Overview
27e41f4b71Sopenharmony_ci
28e41f4b71Sopenharmony_ci> Describe features implemented by the APIs.
29e41f4b71Sopenharmony_ci
30e41f4b71Sopenharmony_ci## Review Conclusion
31e41f4b71Sopenharmony_ci
32e41f4b71Sopenharmony_ci### Review Conclusion from Committers
33e41f4b71Sopenharmony_ci
34e41f4b71Sopenharmony_ci### Review Conclusion from Domain SIGs
35e41f4b71Sopenharmony_ci
36e41f4b71Sopenharmony_ci## Self-Check Table
37e41f4b71Sopenharmony_ci
38e41f4b71Sopenharmony_ci| Self-Check Item| Self-Check Result|
39e41f4b71Sopenharmony_ci|---|---|
40e41f4b71Sopenharmony_ci| Is the spelling check completed?|  |
41e41f4b71Sopenharmony_ci| Are coding specifications complied with?| |
42e41f4b71Sopenharmony_ci| Are parts of speech (noun, adjective, adverb) used correctly?| |
43e41f4b71Sopenharmony_ci| Does the API name fully describe the API logic?| |
44e41f4b71Sopenharmony_ci|Is the number of API parameters appropriate? (Generally, there should be fewer than 7 parameters.)| |
45e41f4b71Sopenharmony_ci|Are abbreviations properly used? (Abbreviations used should be well known.)| |
46e41f4b71Sopenharmony_ci|Is it really that the caller of a void API does not need a return value?| |
47e41f4b71Sopenharmony_ci|Is the inheritance system appropriate? Does every method of a parent class apply to its child classes?| |
48e41f4b71Sopenharmony_ci|Are all possible error states included and defined?| |
49e41f4b71Sopenharmony_ci| Is the group of antonyms used correctly, for example: <br/>add/remove, create/destroy, insert/delete, start/stop, begin/end,<br/>send/receive, up/down, show/hide, open/close, source/target,<br/>source/destination, increase/decrease, first/last, next/previous| |
50e41f4b71Sopenharmony_ci|Are the description and semantic hierarchy of new APIs consistent with those of existing APIs in the same module?| |
51e41f4b71Sopenharmony_ci| Are asynchronous counterparts needed for synchronous APIs?| |
52e41f4b71Sopenharmony_ci| Are all the public APIs truly required by developers?| |
53e41f4b71Sopenharmony_ci
54e41f4b71Sopenharmony_ci## API Description
55e41f4b71Sopenharmony_ci
56e41f4b71Sopenharmony_ci> Enter the code commit address.
57e41f4b71Sopenharmony_ci
58e41f4b71Sopenharmony_ci* Code address:
59e41f4b71Sopenharmony_ci
60e41f4b71Sopenharmony_ci## API Permission Design
61e41f4b71Sopenharmony_ci
62e41f4b71Sopenharmony_ci> Specify whether developers need to apply for certain permissions to use the APIs.
63e41f4b71Sopenharmony_ci
64e41f4b71Sopenharmony_ci## API Privacy Protection Design
65e41f4b71Sopenharmony_ci
66e41f4b71Sopenharmony_ci> If user privacy data is involved, privacy protection must be considered.
67e41f4b71Sopenharmony_ci
68e41f4b71Sopenharmony_ci## Developer Guide
69e41f4b71Sopenharmony_ci
70e41f4b71Sopenharmony_ci> Optional.
71e41f4b71Sopenharmony_ci
72e41f4b71Sopenharmony_ci## API Code Example
73e41f4b71Sopenharmony_ci
74e41f4b71Sopenharmony_ci> Select either of the following:
75e41f4b71Sopenharmony_ci
76e41f4b71Sopenharmony_ci* Code address:
77e41f4b71Sopenharmony_ci* Code snippet:
78e41f4b71Sopenharmony_ci
79e41f4b71Sopenharmony_ci## API Updates
80e41f4b71Sopenharmony_ci
81e41f4b71Sopenharmony_ci> Only required for existing APIs.
82e41f4b71Sopenharmony_ci
83e41f4b71Sopenharmony_ci### Behavior Change
84e41f4b71Sopenharmony_ci
85e41f4b71Sopenharmony_ci> The API behavior change indicates that the API only has its behavior changed.
86e41f4b71Sopenharmony_ci> The new API behavior must be released in a new version. You should not change the API behavior without releasing a new version (except for defect rectification).
87e41f4b71Sopenharmony_ci
88e41f4b71Sopenharmony_ci#### Related APIs
89e41f4b71Sopenharmony_ci
90e41f4b71Sopenharmony_ci#### Reason for the Change
91e41f4b71Sopenharmony_ci
92e41f4b71Sopenharmony_ci### Deprecated APIs
93e41f4b71Sopenharmony_ci
94e41f4b71Sopenharmony_ci> Add the `@deprecated` annotation to the description of deprecated APIs (including JS, TS, C, and C++ APIs).
95e41f4b71Sopenharmony_ci
96e41f4b71Sopenharmony_ci#### Related APIs
97e41f4b71Sopenharmony_ci
98e41f4b71Sopenharmony_ci> State the version from which the API is annotated by `@deprecated`.
99e41f4b71Sopenharmony_ci
100e41f4b71Sopenharmony_ci#### Reason for Deprecation
101e41f4b71Sopenharmony_ci
102e41f4b71Sopenharmony_ci#### Substitute APIs
103e41f4b71Sopenharmony_ci
104e41f4b71Sopenharmony_ci> List the APIs provided to substitute the deprecated ones. If there are no substitute APIs provided, describe the reason.
105e41f4b71Sopenharmony_ci
106e41f4b71Sopenharmony_ci### Deleted APIs
107e41f4b71Sopenharmony_ci
108e41f4b71Sopenharmony_ci> An API can be deleted only after five API versions have been released since it is marked as deprecated.
109e41f4b71Sopenharmony_ci
110e41f4b71Sopenharmony_ci#### Related APIs
111e41f4b71Sopenharmony_ci
112e41f4b71Sopenharmony_ci#### Reason for Deletion
113e41f4b71Sopenharmony_ci
114e41f4b71Sopenharmony_ci#### Substitute APIs
115e41f4b71Sopenharmony_ci
116e41f4b71Sopenharmony_ci> List the APIs provided to substitute the deleted ones. If there are no substitute APIs provided, describe the reason.
117e41f4b71Sopenharmony_ci
118e41f4b71Sopenharmony_ci## DFX
119e41f4b71Sopenharmony_ci
120e41f4b71Sopenharmony_ci### Compatibility
121e41f4b71Sopenharmony_ci
122e41f4b71Sopenharmony_ci### Performance
123e41f4b71Sopenharmony_ci
124e41f4b71Sopenharmony_ci### Power Consumption
125e41f4b71Sopenharmony_ci
126e41f4b71Sopenharmony_ci### Reliability
127e41f4b71Sopenharmony_ci
128e41f4b71Sopenharmony_ci### Testability
129e41f4b71Sopenharmony_ci
130e41f4b71Sopenharmony_ci> Automatic API test cases must be delivered for all APIs.
131e41f4b71Sopenharmony_ci
132e41f4b71Sopenharmony_ci## Review Conclusion
133e41f4b71Sopenharmony_ci
134e41f4b71Sopenharmony_ci* Reviewed on:
135e41f4b71Sopenharmony_ci* Reviewers:
136e41f4b71Sopenharmony_ci* Review conclusion: [Pass | Fail]
137e41f4b71Sopenharmony_ci* Review meeting minutes:
138