宗旨:
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 组件使用规则 ⭐️⭐️⭐️⭐️⭐️
- 金额/数量字段 需要使用 el-input-number 减少验证工作,和误输入风险
- 表单除非必须字段外,其他字段必须有默认值,或者验证非空。
组件位置规则
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 环境
违反扣分标准
| 单元测试阶段 | 集成测试阶段 | 上线版本 |
| 5 | 10 | 20 |