• 组件命名以英文大写字母开头,全称采取驼峰式;文件名同组件名,路由命名同文件名,避免“-”的出现,常量命名采用全大写以“_”分割单词的命名方式,所有命名采用语义化,避免使用a1、a2、xingming等形式命名,提高代码的可读性。
    • 区分常量和变量,声明常量使用const、变量使用let。
    • 生产环境中不允许存在生效的console、debug、多余的import。
    • 大于300kb的文件要酌情考虑存放路径(本地或者cdn),对明显图片大小和尺寸不匹配的图片采用压缩处理,处理在线网站 https://tinypng.com/
    • 工具类方法存放在utils目录,使用语义化命名,使用TS开发的化,定义好参数类型,方法备注规范如下:

      1. /*方法说明
      2. *@method 方法名
      3. *@for 所属类名
      4. *@param{参数类型}参数名 参数说明
      5. *@return {返回值类型} 返回值说明
      6. */
    • import 的引入顺序:官方库>第三方库>自定义文件>自定义组件>样式。

    • 注意代码鲁棒性,比如空处理、异常捕获、异常提示与引导。
    • 在umi脚手架中权限控制全部采用access策略控制。
    • 点击热区不小于44px。
    • 空内容保留占位符,如骨架屏、空路径图片标签占位符、空字符串占位符。
    • 不要忽略接口响应反馈、点击反馈等交互。
    • 特殊按钮防抖处理(例如支付、抽奖),避免重复请求。
    • 文案要具备礼仪性(一般不出现命令语气)。
    • 防御性编程(接口返回异常、用户访问不存在或者没有权限的路径导向等)。
    • 如无说服的理由,保证设计稿高保真的还原度。
    • 合理使用redux与localstorage,非必要的情况下尽量使用组件自有状态。
    • 跟渲染无关的数据避免使用的状态(state)定义,减少页面无必要的刷新。
    • 合理划分组件,保证组件的复用性。
    • 尽量保持页面的简洁,合理嵌套div、合理使用css。
    • 尽量使用语义化标签。