.wxml代码规范
- 缩进:以空格代替tab,1个缩进=2个空格
- 标签属性控制顺序逻辑代码>标签属性>自定义数据值>class>style
- 逻辑代码包括不限于:wx:if,wx:for,wx:else,wx:hidden,wx:for-item等…超过一行时使用单独的
- 标签属性举例:标签的scroll-y属性
- 自定义数据值举例:data-index="{{xxx}}" ,data-id="{yyyy}:这种以data-开头的
- 自定义数据值个数尽量不超过3个,对应的值总长度不超过12个字符,标识不超过20
- wx:for循环和wx:if嵌套尽量不超过2层,如果有嵌套,指定层级item和index值,如 wx:for-item=“item1” wx:for-index=“index1”。超过2层嵌套时请在wxs里单独处理或者在js里预处理数据。
- 相关key一律小写,value以小驼峰方式命名,比如 data-canuse="{{canUse}}"
- 自定义组件命名统一以cp开头,如
- 尽量使用catch代替bind绑定,比如catchtouchmove代替bindtouchmove,阻止冒泡时很多情况下可以提升性能
.小程序js编码规范
-
强类型检查:=== 代替 ==,!==代替!=
-
相关命名规则
- 内部变量以及方法/函数命名:小驼峰命名法,如 let orderIndex=1;
- 重写mix方法命名:下划线+小驼峰
- 点击事件命名:tap+大驼峰 (待统一)
- 类命名:大驼峰命名法,如 Class Student{}
- Storage的Key命名:统一大写+下划线方式,如USER_OPENID:wx.setStorageSync(‘USER_OPENID’, res.result.openid);
- 命名时,应该要使变量名具有代表意图的象征,使人易于搜索并且容易理解。
- 不要在名字中增加没必要额外的单词,比如name要写成theName
- 命名时不要加上下文重复的单词
-
优化规范
- 变量命名采用驼峰法
- 用空格代替tab
- 字符串采用单引号
- 语句结束带分号
- 对象最后一个属性结束带逗号
- 采用字符串模板处理字符串拼接
- 优先选择箭头函数
- 杜绝使用var,with,eval
- 常量命名采用大写
- 优先选择解构赋值
- 对象初始化优先选择简写方式
- 循环遍历优先选择for/of
- 优先选择使用const修饰变量
- 运算符前后加空格