【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开头为系统权限),建议以应用包名或公司反域名为前缀,防止与系统或其他应用定义的权限重名。

  • 13
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值