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

相关推荐
沈剑心1 小时前
如何在鸿蒙系统上实现「沉浸式」页面?
前端·harmonyos
Georgewu2 小时前
【HarmonyOS】 鸿蒙图片或视频保存相册
前端·harmonyos
准橙考典6 小时前
如何考驾照?
物联网·安全·华为·自动驾驶·汽车
川石教育8 小时前
鸿蒙开发-ArkTS 中使用 filter 组件
harmonyos·鸿蒙·鸿蒙应用开发·鸿蒙开发·鸿蒙开发培训·arkts语言
李洋-蛟龙腾飞公司8 小时前
HarmonyOS Next 应用元服务开发-分布式数据对象迁移数据权限与基础数据
分布式·华为·harmonyos
Damon小智8 小时前
HarmonyOS NEXT 技术实践-实现音乐服务卡片
华为·harmonyos·鸿蒙·harmonyos next·服务卡片
play_big_knife8 小时前
鸿蒙项目云捐助第十七讲云捐助我的页面上半部分的实现
华为·harmonyos·鸿蒙·云开发·鸿蒙开发·鸿蒙next·华为云开发
方圆想当图灵9 小时前
由 Mybatis 源码畅谈软件设计(九):“能用就行” 其实远远不够
后端·代码规范
枫叶丹414 小时前
【HarmonyOS之旅】HarmonyOS开发基础知识(三)
华为od·华为·华为云·harmonyos
SoraLuna19 小时前
「Mac畅玩鸿蒙与硬件47」UI互动应用篇24 - 虚拟音乐控制台
开发语言·macos·ui·华为·harmonyos