- 组件命名以英文大写字母开头,全称采取驼峰式;文件名同组件名,路由命名同文件名,避免“-”的出现,常量命名采用全大写以“_”分割单词的命名方式,所有命名采用语义化,避免使用a1、a2、xingming等形式命名,提高代码的可读性。
- 区分常量和变量,声明常量使用const、变量使用let。
- 生产环境中不允许存在生效的console、debug、多余的import。
- 大于300kb的文件要酌情考虑存放路径(本地或者cdn),对明显图片大小和尺寸不匹配的图片采用压缩处理,处理在线网站 https://tinypng.com/
工具类方法存放在utils目录,使用语义化命名,使用TS开发的化,定义好参数类型,方法备注规范如下:
/*方法说明
*@method 方法名
*@for 所属类名
*@param{参数类型}参数名 参数说明
*@return {返回值类型} 返回值说明
*/
import 的引入顺序:官方库>第三方库>自定义文件>自定义组件>样式。
- 注意代码鲁棒性,比如空处理、异常捕获、异常提示与引导。
- 在umi脚手架中权限控制全部采用access策略控制。
- 点击热区不小于44px。
- 空内容保留占位符,如骨架屏、空路径图片标签占位符、空字符串占位符。
- 不要忽略接口响应反馈、点击反馈等交互。
- 特殊按钮防抖处理(例如支付、抽奖),避免重复请求。
- 文案要具备礼仪性(一般不出现命令语气)。
- 防御性编程(接口返回异常、用户访问不存在或者没有权限的路径导向等)。
- 如无说服的理由,保证设计稿高保真的还原度。
- 合理使用redux与localstorage,非必要的情况下尽量使用组件自有状态。
- 跟渲染无关的数据避免使用的状态(state)定义,减少页面无必要的刷新。
- 合理划分组件,保证组件的复用性。
- 尽量保持页面的简洁,合理嵌套div、合理使用css。
- 尽量使用语义化标签。