代码规范
- JavaScript 相关:使用 eslint 和 vscode 的 config 强制配置
- css:嵌套不能超过 4 层,良好的命名空间,命名一定是和组件和页面信息有关
- git commit 强制规范
- 新需求新建 git 分支,严禁修改 master 分支,需求分支应该第一步应该同步 master 最新代码
- commitlint
- husky
协作流程
A(BeforeMounting):新需求诞生
-
B(Mounting):产品评项目管理人员评审
评审通过
-
C(Updating): 产品拿着流程图和产品初稿和 UI,技术,测试讨论问题
意见和讨论
- 技术部分,提出可实现方案和最优解,
- 是否可以复用页面和代码?前端做还是后端处理?用 X 技术还是 Y 技术?
估算工期
有问题及时反馈工作无论是技术问题,还是项目需求及时反馈到人对人
- 产品需求,UI 设计对接到具体页面
- 单元测试
- 前后端对接接口
- 和其他的部门的配合,申请其他的资源配合,跨部门的需求需要提前申请
完成 coding 后需要做的事儿
- code review (依赖 gitlab 和 vscode)
- 提交 merge request(MR 标记项目需求文档,后端接口文档,UI 设计图等,让 review 的同事能清晰的知道你的项目具体在做什么)
- 平级同事 code review(一般是在未完成的时候会提交主要的代码结构开始 review ,尽量在前期架构就开始提 review 的申请)
- 使用
gitlab
的 Merge 功能 assagin 给对应的人,完成 review 以后,log 上对应的 label(- 比如reviewed【已完成 review 但是有问题需要需求人处理】
- approved【没有问题,可以提交下一步代码】)
- leader code reviw
- review 后记:每周周会,花半小时,拿出这周 code review 发现的重点问题复盘一下。
- 测试回测
- 严格使用 jira
- 修改 bug 后,应该及时提醒测试回测,以及重新 code review
- UI 走查
- 使用蓝湖和前端框架标准(AntDesign,bootStrap,Martrial 等设计框架)
钉钉机器人
通知上线审批流程
- 提交合并代码的 MR —> master
- 解决冲突
- npm build 打包(创建最新包代码,生成最新版本,上传 CDN 资源)
- 其中打包等过程都交给了
gitlab cli
自动化处理,首先写好脚本
- 其中打包等过程都交给了
- 由前端项目负责人操作,权限一般在 leader 手上
- 提交审批
- 对应测试审批 【Y】
- 对应运维审批 【Y】
- 对应负责人审批 【Y】
- 自己审批 【Y】
- 完成上线
审批流程
- 提交合并代码的 MR —> master
- 完成上线,线上回测
- 随时修改线上 bugs
- 定位和追责
bugsnag
-前端代码 bug 定位和追踪(https://www.npmjs.com/package/@bugsnag/js)- 使用 vscode 的
gitlen
插件很好的能定位到相关代码和负责人
- 定位和追责
- code review (依赖 gitlab 和 vscode)