【HarmonyOS】代码规范参考

【HarmonyOS】代码规范参考

一、通用原则

  1. 直白简单的逻辑代码比起注释来的更有意义;

  2. 空格、换行相关的规范,需使用IDE自带的格式化,快捷键是 Ctrl+Alt+L , 快速对代码进行格式化;

  3. 开发者不能为了快速开发而牺牲了代码的健壮性和可理解性;

  4. 新增代码要完全遵守规范;老代码不符合规范,则在有相关功能时同步修改; 避免魔鬼数字,如if(res.result == 99),99应该用变量赋值代码,如if(res.result == MAX_COUNT);

  5. 关键字、对照值一类的数值或字符串应尽量用常量表示,最大程度降低手误导致的bug;

  6. 代码编写过程中,除buid()外,其它部分代码每行必须要以分号( ; )结束。

  7. 代码逻辑如果复制三次以上,需要提取共有函数,进行复用。【重要】

二、编码规范

1.命名

1.1 命名需要富有含义,尽量能达到见名知义的程度,避免无意义的命名。禁止使用系统关键字,例如: onClick,padding,position,direction等

1.2 变量名详细程度,根据变量作用范围而定,成员变量 > 大函数的局部变量 > 小函数的局部变量,作用域越大,变量名则应更详细。

例如对于一个类型的变量,成员变量命名越详细越好,如命名为updateUserInfo ,小函数的局部变量可以简单命名为info。

1.3 类名

采用大驼峰命名法,尽量避免缩写。Manager、Module、Page等常见类型应添加对应的后缀标识。

类名通常是名词或名词短语,接口名称有时可能是形容词或形容词短语。

1.4 方法名

  • 采用小驼峰命名法,方法名通常是动词或动词短语。布尔类型函数使用谓语动词为前缀。
    如initXX()、displayXX()、isXX()。
  • 回调类方法,添加On前缀,如onRequestFaild(MobileErrorCode,mobileErrorCode)

1.5 变量名

  • 采用小驼峰命名法,常量变量命名,枚举变量名模式为大写,如CONSTANT_CASE。
  • 前缀后面,是由表意性强的一个单词或多个单词组成的名字。
  • 最后,可以根据情况添加类型、量词后缀

1.6 命名注意事项

  • 命名应该使用正确的英文拼写,除常用习惯缩写外应该尽量少用缩写避免混淆,避免使用拼音命名
  • 避免使用否定的布尔类型变量名,布尔类型变量名应该加上表达含义的前缀
    2.注释
  • 不言自明的方法、变量不需要添加注释。
    注释主要是为了说明变量名、方法名无法阐述的含义,不要直接翻译。
    如果命名足够好,可以不写注释。
    3.代码数量限制
    3.1 一个函数体不要超过80行

3.2 函数中大括号不要超过4层

3.3 三行以上(包括三行)重复三次(包括三次)以上,或五行以上(包括五行)重复两次(包括两次)以上,代码必须另写出一个函数;如果有一两个地方不同,要考虑使用参数进行概括,而使之成为共用的一段代码

三、应用权限使用原则

(1) 应用申请的权限,都必须有明确、合理的使用场景和功能说明,确保用户能够清晰明了地知道申请权限的目的、场景、用途;禁止诱导、误导用户授权;应用使用权限必须与申请所述一致。

(2) 应用权限申请遵循最小化原则,只申请业务功能所必要的权限,禁止申请不必要的权限。

(3) 应用在首次启动时,避免频繁弹窗申请多个敏感权限;敏感权限须在用户使用对应业务功能时动态申请。

(4) 用户拒绝授予某个权限时,与此权限无关的其他业务功能应能正常使用,不能影响应用的正常注册或登录。

(5) 业务功能所需要的权限被用户拒绝且禁止后不再提示,当用户主动触发使用此业务功能或为实现业务功能所必须时,应用程序可通过界面内文字引导,让用户主动到"系统设置"中授权。

(6) 非系统应用自定义权限名,禁止使用系统权限名前缀(如:以ohos开头为系统权限),建议以应用包名或公司反域名为前缀,防止与系统或其他应用定义的权限重名。

相关推荐
碎像2 小时前
鸿蒙 HarmonyOS Next 路由 不废话 全干货
开发语言·华为·harmonyos
Tony11547 小时前
华为路由器静态路由配置(eNSP模拟实验)
网络·华为·智能路由器
chenhua10086119 小时前
鸿蒙应用更新跳转到应用市场
华为·harmonyos
申耀的科技观察11 小时前
【观察】三合实业X华为:十载风雨同舟路,奋楫逐浪向未来
华为
andylauren12 小时前
Hi3861 OpenHarmony嵌入式应用入门--UDP Server
udp·openharmony
等风来随风飘12 小时前
华为机试HJ11数字颠倒
算法·华为
花先锋队长1 天前
如何用手机拍出高级感黑白色调照片?华为Pura70系列XMAGE演绎黑白艺术
华为·智能手机
一米八五羊毛菌1 天前
【笔试记录】华为 | 20230823 | cpp
c++·算法·华为·笔试
张紫娃1 天前
【鸿蒙学习笔记】@Prop装饰器:父子单向同步
笔记·学习·harmonyos
张紫娃1 天前
【鸿蒙学习笔记】创建自定义组件
笔记·学习·harmonyos