diff --git a/CodeCommitChecklist.md b/CodeCommitChecklist.md
index 2579d89a548dc2ebdb2533e23ae861c0e3d8aa52..6ef46b10056ba1b68c0ba55ed065baf86675fcb3 100644
--- a/CodeCommitChecklist.md
+++ b/CodeCommitChecklist.md
@@ -1,8 +1,19 @@
-## 代码提交规范
+## 社区共建Sample合入要求
+
+1. 新增Sample功能不能重复于当前已有Sample的功能;
+2. 新增Sample的工程推荐使用eTS语言编写;
+3. 新增Sample的工程推荐使用Stage模型编写;
+4. 新增Sample的工程中需要包含UI自动化用例(ohosTest工程模块),覆盖基本的功能场景;
+5. 新增Sample需要遵循[代码提交规范](#section1)、[工程结构规范](#section2)、[PR提交格式规范](#section3)、[ReadMe编写规范](#section4)和[UI自动化用例编写规范](#section5);
+6. 新增Sample的UX涉及需要符合[一多规范要求](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/key-features/multi-device-app-dev/Readme-CN.md);
+7. 新增Sample推荐使用当前最新版本IDE和SDK版本;
+8. 工程合入时,需要提供测试用例报告,包括测试场景、操作步骤和测试结果信息,可以附在提交工程中;
+
+## 代码提交规范
1. 所有文件,包括自动生成的编译文件package.json都要格式化;
-2. 函数命名,C++大驼峰,TS、JS小驼峰,方法命名注意动宾结构;
-3. 变量命名,必须见名知意,ArrayList类型直接按复数表示,不要带list;
+2. 函数命名,C++大驼峰,TS、JS小驼峰,函数命名注意动宾结构;
+3. 变量和参数命名,静态常量需使用全大写,函数的参数、全局变量和局部变量都使用小驼峰;
4. 函数参数命名,要规范化,见名知意;
5. if语句后必须跟“{”,哪怕只有一行代码;
6. 有break或return的条件,先break或return再走其他的逻辑;
@@ -31,7 +42,7 @@
19. string.json中description要写简要描述,zh下要用中文;
20. TS、JS语言缩进为2格,C++语言缩进为4格;
21. 涉及应用截图时,图片不能包含人物、关键信息、网络等有侵权风险的资源;
-22. 工程中不要配置签名信息;
+22. 工程中不要配置签名信息,禁止上传local.properties和package-lock.json等系统自动生成的文件;
23. 规范日志格式,统一用[Sample_包名]开头,如时钟日志,使用[Sample_Clock],日志打印需要使用Hilog接口;
24. 注释“//”后要加一个空格;如果注释跟在代码后面,则“//”前要加一个空格;
```ts
@@ -43,7 +54,7 @@
25. 代码中避免出现中文字符,要使用资源代替,符合国际化开发标准;
-## 工程结构规范
+## 工程结构规范
Sample工程,应该区分开UI、业务逻辑、数据模块,工程示例结构如下:
@@ -63,7 +74,7 @@ main
| |---IndexApi.ts // 网络接口
```
-## PR提交格式规范
+## PR提交格式规范
示例如下:
@@ -83,7 +94,7 @@ Signed-off-by: jiangwensai
4. Feature or Bugfix,如果是需求选择Feature,问题选择Bugfix;
5. Signed-off-by,注明开发者账号和邮箱;
-## ReadMe编写规范
+## ReadMe编写规范
1. 标题:以特性名称命名;
2. 介绍:
@@ -115,32 +126,32 @@ Signed-off-by: jiangwensai
本示例涉及[相关权限]为system_basic(或者system_core)级别(相关权限级别可通过[权限定义列表]查看),需要配置高权限签名,可参考[特殊权限配置方法];
-## UI自动化用例编写规范
+## UI自动化用例编写规范
1. 用例命名规范为:“包名_测试功能_序号”,如“MyApp_StartAbility_001”,序号表示测试StartAbility功能的第1个用例;
-2. 用例的开头和结尾都需要有日志打印,打印必须包括用例名称的关键字,用例中每条断言语句前必须添加日志,打印参数信息,示例:
+2. 用例的开头和结尾都需要有日志打印;
+3. 打印必须包括用例名称的关键字,用例中每条断言语句前必须添加日志,打印参数信息;
+4. DOMAIN设置为0xF811;
+5. 用例名称中的包名和日志中的包名单独用常量表示,方便包名变更整改;
+6. 每条用例前需要添加注释;
```ts
import hilog from '@ohos.hilog';
...
- const TAG = '[Sample_XXX]'
+ const TAG = '[Sample_MyApp]'
const DOMAIN = 0xF811
+ const BUNDLE = 'MyApp_'
...
- it('MyApp_StartAbility_001', function() {
- hilog.info(DOMAIN, TAG, "MyApp_StartAbility_001, begin")
- ...
- hilog.info(DOMAIN, TAG, "MyApp_StartAbility_001, code:" + code)
- expect(0).asserEqual(code)
- ...
- hilog.info(DOMAIN, TAG, "MyApp_StartAbility_001, end")
- })
-```
-3. 每条用例前需要添加注释;
-```ts
+
/**
* 介绍用例测试的功能和场景等信息
*/
- it('MyApp_StartAbility_001', function() {
+ it(BUNDLE + 'StartAbility_001', function() {
+ hilog.info(DOMAIN, TAG, BUNDLE + "StartAbility_001, begin")
+ ...
// 介绍单一步骤的功能
+ hilog.info(DOMAIN, TAG, BUNDLE + "StartAbility_001, code:" + code)
+ expect(0).asserEqual(code)
...
+ hilog.info(DOMAIN, TAG, BUNDLE + "StartAbility_001, end")
})
-```
+```
\ No newline at end of file