JoinAmdin开发规约

宗旨:

1.做给人类用的系统,了解用户操作习惯,不做反人类的操作。

2.用户最少的输入量,最短的操作路径。

1.需求分析

流程图

业务功能图

2.开发篇

2.1 数据库设计

2.1.1 必填字段需勾选必填⭐️⭐️⭐️⭐️⭐️

未防止代码出现未赋值,数据不完整问题。请遵循服务唯一依赖的原则,统一操作,请调用唯一方法。

2.1 后端JAVA

2.1.2 嵌套列表命名规范⭐️⭐️⭐️

select+实体名称 NestList

正例: selectMallOrderNestList

2.1.2 集合属性命名规则⭐️⭐️⭐️⭐️

一对多关系使用小驼峰加List( 不要+s 复数形式)

mallOrder 对象中包含

正例  mallOrderDetailList / orderDetailList/ detailList
反例 details

2.2 前端PC

组件设计原则:

1.一个组件完成一个核心任务,保证组件颗粒度。

2.最小的依赖属性传入,增加组件兼容性。

2.2.1 组件命名规范 ⭐️⭐️⭐️

表名+[操作类型(Add/Edit/Detail)]+展现形式(Button/Selector/Card)

正例:userEditButton/ roomSelector

2.2.2 组件路径规范 ⭐️⭐️⭐️

views/模块名称/实体类名称/components/组件名称

正例:mall/ order/components/orderEditButton

2.2.3 暂未实现功能标注规范

暂时未实现的功能使用“!标注”

1.选择器Selector

2.卡片 Card

2.2.2 组件使用规则 ⭐️⭐️⭐️⭐️⭐️

  1. 金额/数量字段 需要使用 el-input-number 减少验证工作,和误输入风险
  2. 表单除非必须字段外,其他字段必须有默认值,或者验证非空。

组件位置规则

2.2.2 枚举使用规则 ⭐️⭐️⭐️⭐️⭐️

前台不建议使用硬编码判断状态,使用枚举对象管理状态

// 推荐写法
<el-tag v-if="row.status=== reserveStatus.DEFAULT.code">预定中</el-tag>
// 不推荐
<el-tag v-if="row.status===3">待支付租金</el-tag>
// 方案1
export const PayRefundStatusEnum = {
  CREATE: {  status: 0,   name: '退款订单生成'  },
  SUCCESS: {    status: 1,    name: '退款成功'  },
  FAILURE: {    status: 2,    name: '退款失败'  },
  CLOSE: {    status: 99,    name: '退款关闭'  }
}
// 方案2
export const PayRefundStatusEnum = {
  CREATE: 0,
  SUCCESS: 1,
  FAILURE: 2,
  CLOSE: 99
}

3.测试篇

集成测试

用例要求:xmind 用例脑图

测试数据:真实有真实含义的数据

上线测试

用例要求:xmind 用例脑图

测试数据:真实有真实含义的数据

环境要求:真机测试,非dev 环境

违反扣分标准

单元测试阶段集成测试阶段上线版本
51020
上一篇
下一篇