首页 > 其他分享 >ArkTS语言OpenHarmony/HarmonyOS项目代码规范

ArkTS语言OpenHarmony/HarmonyOS项目代码规范

时间:2023-07-30 10:06:50浏览次数:26  
标签:OpenHarmony ArkTS FORMAT args HarmonyOS static 使用 hilog Logger

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

相关文章

  • 【HarmonyOS】ArkTS 组件内转场动画,动画播放时颜色异常问题
    ​【关键字】HarmonyOS、ArkTS、组件内转场动画、颜色异常 【问题描述】根据组件内转场动画文档中示例编写代码,使用动画转场组件button,并给button设置背景色让button透明度为0,实现动画转场时,会先出现默认蓝色button,然后动画再消失,问题代码如下所示:@Stateflag:boolean=t......
  • 【HarmonyOS】ArkTS 组件内转场动画,动画播放时颜色异常问题
    【关键字】HarmonyOS、ArkTS、组件内转场动画、颜色异常【问题描述】根据组件内转场动画文档中示例编写代码,使用动画转场组件button,并给button设置背景色让button透明度为0,实现动画转场时,会先出现默认蓝色button,然后动画再消失,问题代码如下所示:@Stateflag:boolean=true;@State......
  • HDC.Together2023 HarmonyOS学生公开课议程抢先看!
     未来已来,见证相遇万众瞩目的HarmonyOS学生公开课于8月6日9:30正式起航关注HarmonyOS生态前景聚焦HarmonyOS新技术畅谈HarmonyOS未来把握时代发展机遇,让我们同心而行和HarmonyOS一起创造无限可能   ......
  • 超强阵容!HarmonyOS极客马拉松2023专家评审团来袭!
     数十位重量级专家现身决赛现场,为参赛者提供多角度专业点评。12支队伍,46位选手,齐聚东莞·松山湖,围绕HarmonyOS技术特性,共同挑战36小时极限编程,谁将问鼎决赛之巅,8.3日-5日,我们拭目以待! ......
  • 【HarmonyOS】实现从视频提取音频并保存到pcm文件功能(API6 Java)
    ​ 【关键字】视频提取类Extractor、视频编解码、保存pcm文件 【写在前面】在使用API6开发HarmonyOS应用时,通常会开发一些音视频媒体功能,这里介绍如何从视频中提取音频保存到pcm文件功能,生成pcm音频文件后,就可使用音频播放类AudioRenderer进行播放了。这里主要介绍从视频提......
  • HarmonyOS应用开发者基础认证
    HarmonyOS应用开发者基础认证难题如下:第一题第二题第三题今天发现华为开发者学堂有HarmonyOS应用开发者基础认证,然后就点击考试对自己学习做了一个测试,都是比较基础的开发,不过也有好几个难点,我在这里稍微列出一下难点(我是先接触的开发,再来考试的,所以后续提出的一些难题也希望能帮......
  • 定了!12支队伍进入HarmonyOS极客马拉松2023决赛
     12支队伍将在8月初,华为开发者大会(HDC.Togerther)上展开巅峰对决! ......
  • 【HarmonyOS】ArkTS学习之基于TextTimer的简易计时器
    ​【关键字】ArkTS、计时器、TextTimer 【介绍】TextTimer是ArkTS提供的通过文本显示计时信息并控制其计时器状态的组件。今天就给大家展示一个基于TextTimer的简易计时器的实现吧。在使用之前我们要先了解它的用法:TextTimer(options?:{isCountDown?:boolean,count?:n......
  • 【HarmonyOS】元服务隐私协议开发指导样例
    【关键字】隐私、弹窗、元服务、协议 【介绍】每个元服务必须提供隐私声明,否则将导致提交元服务发布上架时,审核无法通过。隐私声明的具体要求请参见隐私声明规范。用户使用元服务前,必须引导其了解隐私声明信息,获取用户授权后,才能继续使用元服务。废话不多说,上代码!! 【方式......
  • openharmony环境搭建
    1.源码下载1.1repo安装curl-shttps://gitee.com/oschina/repo/raw/fork_flow/repo-py3>/usr/bin/repo1.2下载openharmony源码[email protected]:openharmony/manifest.git-bOpenHarmony-4.0-Beta1--no-repo-verifyreposync-crepoforall-c'gitl......