1.新增Sample功能不能重复于当前已有Sample的功能;
2.新增Sample的工程推荐使用ArkTS语言编写;
3.新增Sample的工程推荐使用Stage模型编写;
4.新增Sample的工程中需要包含UI自动化用例(ohosTest工程模块),覆盖基本的功能场景;
5.新增Sample需要遵循代码提交规范、工程结构规范、PR提交格式规范、ReadMe编写规范和UI自动化用例编写规范;
6.新增Sample的UX设计需要符合一多规范要求 ;
7.新增Sample推荐使用当前最新版本IDE和SDK版本;
8.工程合入时,需要提供测试用例报告(参考示例) ,包括测试场景、操作步骤和测试结果信息,可以附在提交工程中;
代码规范
1.所有文件,包括自动生成的编译文件package.json都要格式化(IDE快捷键Ctrl+Alt+L);
2.函数命名,C++大驼峰,TS、JS小驼峰,函数命名注意动宾结构;
3.静态常量需使用全大写,文件目录使用全小写(不建议包含特殊字符如"-“和”_"等);
4.类名使用大驼峰,函数的参数、全局变量和局部变量都使用小驼峰,命名要规范化,见名知意;
5.if语句后必须跟“{”,哪怕只有一行代码;
6.有break或return的条件,先break或return再走其他的逻辑;
7.条件判断,当一个分支达成条件时及时返回,不需要再走其他分支;
8.代码中避免出现魔鬼数字,需补上注释,或者用符合语义的名词常量代替,如下:
// One minute has 60 seconds.
let time = 60
const ONE_MINUTE = 60
let time = ONE_MINUTE
9.字符串拼接使用模板字符串;
10.组件使用,除了宽高属性可以在一行,其他的属性必须换行;
11.TS、JS中关于是否添加";“的问题,风格要统一,建议添加”;";
12.字符串和图片资源等的使用,支持"r"使用的,全部使用"�"使用的,全部使用"r"引用;
13.新增文件注意开源协议、版权检查;
14.截图要使用真机效果图;
15.readme中使用“.”,不要用“、”,检查错别字;
16.异步方法中需要返回方法的返回值,不用声明变量,直接return,如下:
return await this.mediaTest.getFileAssets(fetchOp)
17.方法中的参数需要类型声明;
18.import 文件顺序,同类型放一起;
19.string.json中description要写简要描述,zh下要用中文;
20.TS、JS语言缩进为2格,C++语言缩进为4格;
21.涉及应用截图时,图片不能包含人物、关键信息、网络等有侵权风险的资源;
22.工程中不要配置签名信息,禁止上传local.properties和package-lock.json等系统自动生成的文件;
23.规范日志格式,统一用[Sample_包名]开头,如时钟日志,使用[Sample_Clock],日志打印需要使用Hilog接口,建议封装单独的Logger类 ,示例如下:
import hilog from '@ohos.hilog'
...
class Logger {
private domain: number = 0xFF00
private prefix: string = '[Sample_Clock]'
private format: string = '