ArkTS语言OpenHarmony/HarmonyOS项目代码规范
作者:坚果
团队:坚果派
公众号:“大前端之旅”
润开鸿技术专家,华为HDE,InfoQ签约作者,OpenHarmony布道师,擅长HarmonyOS应用开发、熟悉服务卡片开发,在“战码先锋”活动中作为大队长,累计培养三个小队长,带领100+队员完成Pr的提交合入。 欢迎通过主页或者私信联系我,加入坚果派,一起学习OpenHarmony/HarmonyO应用开发。
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.规范日志格式,统一用[Nust_包名]开头,日志打印需要使用Hilog接口,建议封装单独的Logger类 ,示例如下:
import hilog from '@ohos.hilog'
export class Logger {
static PREFIX: string = '[Nust_Weather]'
static DOMAIN: number = 0xFF00
static FORMAT: string = '%{public}s, %{public}s'
static debug(...args: any[]) {
hilog.debug(Logger.DOMAIN, Logger.PREFIX, Logger.FORMAT, args)
}
static info(...args: any[]) {
hilog.info(Logger.DOMAIN, Logger.PREFIX, Logger.FORMAT, args)
}
static warn(...args: any[]) {
hilog.warn(Logger.DOMAIN, Logger.PREFIX, Logger.FORMAT, args)
}
static error(...args: any[]) {
hilog.error(Logger.DOMAIN, Logger.PREFIX, Logger.FORMAT, args)
}
}
24.注释“//”后要加一个空格;如果注释跟在代码后面,则“//”前要加一个空格;
// 正确示例
let a = 10
let a = 10 // 正确示例
25.代码中避免出现中文字符,要使用资源代替,符合国际化开发标准;
26应用包名统一使用“com.nust.xxx”,“xxx”为特性名称;
标签:OpenHarmony,ArkTS,FORMAT,args,HarmonyOS,static,使用,hilog,Logger From: https://blog.51cto.com/jianguo/6898561