技术选型规范文档

  1. # XX技术方案调研/选择
  2. ## 背景
  3. 简述下,技术调研/选择背景(应用场景),技术原理,目的是什么(为了解决XX问题)?
  4. ## 业界主流技术方案列举
  5. * 典型方案及demo实践
  6. * 对比其优缺点
  7. * 是否需要做方案优点整合?
  8. ## 在实践Demo中遇到的典型问题
  9. * 阐述:问题 && 原因 && 解决方案
  10. ## 最终选择该方案的亮点
  11. * 阐述目前方案的较业界的优点,或者说优化了某个缺点
  12. * 可以从复用性,功能/兼容性等角度
  13. ## 可能存在的问题
  14. * 预估存在的风险(后期的优化规划)
  15. ## 方案评审
  16. * 若项目较大或较无把握,可以开一个方案评审会议

技术设计文档规范

  1. # 技术方案设计
  2. > 根据具体的项目复杂度,进行项目合理的技术设计。(此设计纬度,仅限前端)
  3. ⚠️⚠️⚠️ 注意:
  4. 1. 技术设计尽可能的基于目前公共资源,如果发现有设计不合理的地方,可以反馈公共支撑组优化
  5. 2. 如果公共资源没有的方案,尽可能的抽取出可公用的部分,返哺给公共组。
  6. ## 概要设计
  7. ### 架构图
  8. 目的:加深对整体的结构足够了解(可以向pmqard咨询了解)
  9. ### 项目基础结构图
  10. 目的:对项目的目录/功能结构加深理解
  11. ### 流程图
  12. 流程图是面向过程的,用于描述一个算法或者业务的过程。
  13. 目的:明确业务范围,明确我们到底要做什么,不做什么,帮助识别边界。
  14. ## 详细设计
  15. ### 时序图(交互图)
  16. 目的:根据不同的视角看问题,可以从用户的角度,切身思考🤔会遇到的问题,从而优化用户体验。
  17. ### 开发&测试用例-思维导图
  18. 目的:梳理需求文档,细化文案、设计和交互功能,每个case,防止文档遗漏。

README规范

  1. # 项目名
  2. ## 简介(Introduction)
  3. 这里可以把项目背景简单介绍下,可以把项目的目标以及后面规划的写下。(可以咨询相关pm
  4. ## 方案选择(Scheme)
  5. 包含内容:方案设计选择,可以写调研的方案参考,优缺点,调研实践demo,以及最终选择的原因等。
  6. 其他:
  7. * 这部分过复杂,可以单独,对应的项目目录中,然后这里此readme,标注引导
  8. * 可参考规范`【技术方案选择文档编写规范】`
  9. ## 项目设计结构(Structure)
  10. 包含内容:最终的方案设计,目录 or 功能结构,这部分以图表(流程图或者思维导图等)的形式展示,必要的主流程图,细节交互可以补上对应的测试用例等。
  11. 其他:
  12. * 这部分过复杂,可以单独,对应的项目目录中,然后这里此readme,标注引导
  13. * 可参考规范`【技术方案设计文档编写规范】`
  14. ## 使用(Usage)
  15. # 安装依赖(如果生成初始化项目时已经安装完毕,无需安装)
  16. npm install
  17. # 开发模式 localhost:8000
  18. npm run dev
  19. # 构建模式
  20. npm run build
  21. # 构建模式 + 分析报告
  22. npm run analyz
  23. # 语法校验
  24. npm run lint
  25. # 自动修复
  26. npm run fix
  27. # 按规范 git commit 并自动生成 changelog
  28. npm run cz
  29. ## 开发(Development)
  30. 具体开发注意事项,使用的工具包,功能特征等等
  31. ### 页面配置
  32. - 页面配置 1
  33. - 页面配置 2
  34. ### 页面对应地址
  35. | 页面 | 功能 | 地址 |
  36. |------|-----|------|
  37. | home | 首页 | https://xxxxx/home |
  38. | about | 详情页 | https://xxxxx/about |
  39. ## API(Reference)
  40. 1. api 1
  41. 2. api 2
  42. ## FAQ(常见问题解答)
  43. 1. 常见问题1
  44. 2. 常见问题2
  45. ## 附录(Appendix)
  46. - [ChangeLog]()
  47. - [其他文档]()

项目目录

  1. ├── CHANGELOG.md // [生成] 更新日志
  2. ├── README.md // [必选] 导读
  3. ├── config // [可选] 配置目录
  4. ├── config.js // [生成] 基本配置
  5. └── router.config.js // [必填] 路由
  6. ├── dist // [生成] 打包目录
  7. ├── docs // [可选] 文档
  8. ├── mock // [可选] mock 数据
  9. └── sample.js // [可选] demo
  10. ├── package.json // [必选] 大家都懂
  11. ├── public // [必选] 不会被webpack编译的资源
  12. └── src // [必选] 开发目录
  13. ├── app.js // [必选] 运行时配置文件
  14. ├── assets // [可选] 公共资源(被项目引用的经过webpack处理的资源)
  15. ├── components // [必选] 业务组件必须写在这里
  16. ├── global.jsx // [必选] 全局执行入口
  17. ├── global.less // [必选] 需要重置的样式或者全局样式引用
  18. ├── layouts // [可选] 基本的布局封装
  19. ├── models // [可选] 对异步数据处理
  20. ├── pages // [必选] 页面组件,不允许有其他类型组件混入
  21. ├── services // [必选] 业务接口封装
  22. └── utils // [可选] 工具库(用于一些函数方法之类的库)
  23. ├── ...

参考文档:https://juejin.im/post/6875157718924492808?utm_source=gold_browser_extension