standard.txt 2.57 KB
所有文件,包括自动生成的编译文件package.json都要格式化(IDE快捷键Ctrl+Alt+L);
函数命名,C++大驼峰,TS、JS小驼峰,函数命名注意动宾结构;
静态常量需使用全大写,文件目录使用全小写(不建议包含特殊字符如"-"和"_"等);
类名使用大驼峰,函数的参数、全局变量和局部变量都使用小驼峰,命名要规范化,见名知意;
if语句后必须跟“{”,哪怕只有一行代码;
有break或return的条件,先break或return再走其他的逻辑;
条件判断,当一个分支达成条件时及时返回,不需要再走其他分支;
代码中避免出现魔鬼数字,需补上注释,或者用符合语义的名词常量代替,如下:
// One minute has 60 seconds.
let time = 60

const ONE_MINUTE = 60
let time = ONE_MINUTE
字符串拼接使用模板字符串;
组件使用,除了宽高属性可以在一行,其他的属性必须换行;
TS、JS中关于是否添加";"的问题,风格要统一,建议添加";";
字符串和图片资源等的使用,支持"$r"使用的,全部使用"$r"引用;
新增文件注意开源协议、版权检查;
截图要使用真机效果图;
readme中使用“.”,不要用“、”,检查错别字;
异步方法中需要返回方法的返回值,不用声明变量,直接return,如下:
return await this.mediaTest.getFileAssets(fetchOp)
方法中的参数需要类型声明;
import 文件顺序,同类型放一起;
string.json中description要写简要描述,zh下要用中文;
TS、JS语言缩进为2格,C++语言缩进为4格;
涉及应用截图时,图片不能包含人物、关键信息、网络等有侵权风险的资源;
工程中不要配置签名信息,禁止上传local.properties和package-lock.json等系统自动生成的文件;
规范日志格式,统一用[Sample_包名]开头,如时钟日志,使用[Sample_Clock],日志打印需要使用Hilog接口,建议封装单独的Logger类 ,示例如下:
import hilog from '@ohos.hilog'
...
class Logger {
private domain: number = 0xFF00
private prefix: string = '[Sample_Clock]'
private format: string = '%{public}, %{public}'
...
debug(...args: any[]) {
hilog.debug(this.domain, this.prefix, this.format, args)
}
...
}
注释“//”后要加一个空格;如果注释跟在代码后面,则“//”前要加一个空格;
// 正确示例
let a = 10

let a = 10 // 正确示例
代码中避免出现中文字符,要使用资源代替,符合国际化开发标准;
应用包名统一使用“com.samples.xxx”,“xxx”为特性名称;