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