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

相关推荐
小诸葛的博客3 小时前
华为ensp实现跨vlan通信
网络·华为·智能路由器
康康这名还挺多5 小时前
鸿蒙HarmonyOS list优化一: list 结合 lazyforeach用法
数据结构·list·harmonyos·lazyforeach
晚秋大魔王9 小时前
OpenHarmony 开源鸿蒙南向开发——linux下使用make交叉编译第三方库——nettle库
linux·开源·harmonyos
python算法(魔法师版)12 小时前
.NET 在鸿蒙系统上的适配现状
华为od·华为·华为云·.net·wpf·harmonyos
bestadc14 小时前
鸿蒙 UIAbility组件与UI的数据同步和窗口关闭
harmonyos
枫叶丹415 小时前
【HarmonyOS Next之旅】DevEco Studio使用指南(二十二)
华为·harmonyos·deveco studio·harmonyos next
ax一号街阿楠16 小时前
华为FAT AP配置 真机
网络·华为·智能路由器
吗喽对你问好16 小时前
华为5.7机考第一题充电桩问题Java代码实现
java·华为·排序
乱世刀疤19 小时前
深度 |国产操作系统“破茧而出”:鸿蒙电脑填补自主生态空白
华为·harmonyos
博睿谷IT99_1 天前
华为HCIP-AI认证考试版本更新通知
人工智能·华为