技术选型规范文档
# XX技术方案调研/选择## 背景简述下,技术调研/选择背景(应用场景),技术原理,目的是什么(为了解决XX问题)?## 业界主流技术方案列举* 典型方案及demo实践* 对比其优缺点* 是否需要做方案优点整合?## 在实践Demo中遇到的典型问题* 阐述:问题 && 原因 && 解决方案## 最终选择该方案的亮点* 阐述目前方案的较业界的优点,或者说优化了某个缺点* 可以从复用性,功能/兼容性等角度## 可能存在的问题* 预估存在的风险(后期的优化规划)## 方案评审* 若项目较大或较无把握,可以开一个方案评审会议
技术设计文档规范
# 技术方案设计> 根据具体的项目复杂度,进行项目合理的技术设计。(此设计纬度,仅限前端)⚠️⚠️⚠️ 注意:1. 技术设计尽可能的基于目前公共资源,如果发现有设计不合理的地方,可以反馈公共支撑组优化2. 如果公共资源没有的方案,尽可能的抽取出可公用的部分,返哺给公共组。## 概要设计### 架构图目的:加深对整体的结构足够了解(可以向pm、qa和rd咨询了解)### 项目基础结构图目的:对项目的目录/功能结构加深理解### 流程图流程图是面向过程的,用于描述一个算法或者业务的过程。目的:明确业务范围,明确我们到底要做什么,不做什么,帮助识别边界。## 详细设计### 时序图(交互图)目的:根据不同的视角看问题,可以从用户的角度,切身思考🤔会遇到的问题,从而优化用户体验。### 开发&测试用例-思维导图目的:梳理需求文档,细化文案、设计和交互功能,每个case,防止文档遗漏。
README规范
# 项目名## 简介(Introduction)这里可以把项目背景简单介绍下,可以把项目的目标以及后面规划的写下。(可以咨询相关pm)## 方案选择(Scheme)包含内容:方案设计选择,可以写调研的方案参考,优缺点,调研实践demo,以及最终选择的原因等。其他:* 这部分过复杂,可以单独,对应的项目目录中,然后这里此readme,标注引导* 可参考规范`【技术方案选择文档编写规范】`## 项目设计结构(Structure)包含内容:最终的方案设计,目录 or 功能结构,这部分以图表(流程图或者思维导图等)的形式展示,必要的主流程图,细节交互可以补上对应的测试用例等。其他:* 这部分过复杂,可以单独,对应的项目目录中,然后这里此readme,标注引导* 可参考规范`【技术方案设计文档编写规范】`## 使用(Usage)# 安装依赖(如果生成初始化项目时已经安装完毕,无需安装)npm install# 开发模式 localhost:8000npm run dev# 构建模式npm run build# 构建模式 + 分析报告npm run analyz# 语法校验npm run lint# 自动修复npm run fix# 按规范 git commit 并自动生成 changelognpm run cz## 开发(Development)具体开发注意事项,使用的工具包,功能特征等等### 页面配置- 页面配置 1- 页面配置 2### 页面对应地址| 页面 | 功能 | 地址 ||------|-----|------|| home | 首页 | https://xxxxx/home || about | 详情页 | https://xxxxx/about |## API(Reference)1. api 12. api 2## FAQ(常见问题解答)1. 常见问题12. 常见问题2## 附录(Appendix)- [ChangeLog]()- [其他文档]()
项目目录
├── CHANGELOG.md // [生成] 更新日志├── README.md // [必选] 导读├── config // [可选] 配置目录│ ├── config.js // [生成] 基本配置│ └── router.config.js // [必填] 路由├── dist // [生成] 打包目录├── docs // [可选] 文档├── mock // [可选] mock 数据│ └── sample.js // [可选] demo├── package.json // [必选] 大家都懂├── public // [必选] 不会被webpack编译的资源└── src // [必选] 开发目录├── app.js // [必选] 运行时配置文件├── assets // [可选] 公共资源(被项目引用的经过webpack处理的资源)├── components // [必选] 业务组件必须写在这里├── global.jsx // [必选] 全局执行入口├── global.less // [必选] 需要重置的样式或者全局样式引用├── layouts // [可选] 基本的布局封装├── models // [可选] 对异步数据处理├── pages // [必选] 页面组件,不允许有其他类型组件混入├── services // [必选] 业务接口封装└── utils // [可选] 工具库(用于一些函数方法之类的库)├── ...
参考文档:https://juejin.im/post/6875157718924492808?utm_source=gold_browser_extension
