关于前端研发质量提升的建设思路
线上无小事,出现线上事故轻则影响用户体验,重则造成资损,这都是我们不愿意看到的现象。但又有一个著名的墨菲定律:可能出错的事,就一定会出错。那么我们应该如何减少错误、降低影响呢?
一、意识建设
1.1 质量重视
- 明确需求:需求或UE评审阶段悬而未决的事情,及时找产品确认解决,保证不会有需求理解的偏差。避免开发联调时临时改逻辑,影响代码质量
- 降低影响:公司重视线上 bug 是为了降低对线上用户的影响,提供更好的服务,因此遇到线上 bug,应该第一时间修复以及降低影响,遇到问题,寻求协助,大家都有义务协助其他同学解决线上 bug
- 专项治理:定期排查 bug 集中的领域、子域、人员,进行专项治理
- 经验学习:其他团队分享沉淀、质量文化助手
1.2 开发容错
- 字段处理:对字段的处理要谨慎,做好特殊字段值的处理。对于数组、对象类型的字段尽量不要相信后端的接口定义,最好做对空值和 undefined 的处理
- 编码习惯
- 文件大小:限制单文件、单方法的代码行数
- 代码注释:复杂逻辑多写一些注释或者记录在技术文档中,提升代码可读性便于问题排查和后续迭代
- 规范命名:命名是代码的自描述,优秀的命名将减少注释量,甚至不需要注释
- TS 约束:完善的 TS 类型约束
- 迭代兼容
- 对于迭代的需求,需考虑全面,比如老数据的兼容问题
- 公共组件:兼容之前用法,改动后对于影响到的场景要全量回归,每种类型回归一种即可
- 接口改动:新需求复用已有接口,需服务端提供接口出入参,并对当前所在环境做好自测
1.3 自测把关
- 排期规划:理清需求点并与合作方确认疑问点,评估改动量和影响面,预留出回归测试时间。回归测试按照正常开发标准,showcase 时尽量多确认到一些交互细节
- 自测 Check List:QA 测试 Case 留档,技术文档中列出本次开发所有的逻辑分支和特殊 Case(如精度等开发过程中觉得有风险的地方),自测完一条就中划线划掉,保证所有的逻辑都已自测
- 共用逻辑改动(组件/util):梳理所有的调用方并与原开发同学确认影响面,统计不一样的调用类型,将每种类型自测,再同步到 QA 同学,避免漏测
- 历史用例:对于修改已有功能,回归历史用例;领域负责人,要把之前的测试用例积累下来,形成文档,并整理对应测试场景的账号、流程整理等
二、流程建设
2.1 领域分工
- 分工:明确领域第一负责人、第二负责人,尽量由熟悉领域的人修改代码,如果是不熟悉的人修改了代码,一定找负责人做代码质量把关
- 积累:各领域的技术文档整理归档
2.2 方案评审
- 对于复杂的需求,或者可能有质量隐患的需求,需要做方案评审,包含如何降低质量风险,暂时没有强制规定,个人主动发起评审
2.3 Code Review
- CR 时机:
- 提测前:保证修改后的代码进入 QA 环节
- 上线前:修改代码一定重走涉及测试用例
- 强制 CR 机制:
- 主要负责人:业务模块负责人、公共函数/组件负责人、高危场景负责人
- 核心、高危改动:公共函数/组件、高危场景
2.4 周会分析
- 线下 bug 纳入统计,明确问题现状、趋势、分布等
- 每周线上线下 Bug 统计分析
2.5 问题复盘
- 线上 bug 彻底复盘,分析问题发生底层原因,形成可落地的改进机制,防止此类问题再次发生
- 典型的线下 bug,个人主动分享,形成最佳实践,在组内推广
三、技术建设
3.1 架构改造
- 微前端:子应用隔离,减小问题影响面和回归难度
- 领域沉淀:完善领域模型与分层架构,降低代码耦合度,降低维护难度
3.2 监控报警
- 接口返回值报警,比如 401、403、502
- JS 错误报警,比如 SyntaxError、TypeError
- 关键节点加埋点,比如文件下载后缀类型
3.3 自动化测试
- 单元测试:公共组件和函数尽量覆盖,可以配合演示 demo,用例参考:https://github.com/umijs/umi-request/blob/master/test/util.test.js
- UI 测试:尝试覆盖主流程,减轻回归成本
- 主动放火:自动走查所有页面
3.4 主动反馈
- 用户问题主动反馈,工单跟进
- 主动反馈与 DOM 录屏、控制台信息相结合,便于复原现场信息
关于前端研发质量提升的建设思路相关推荐
- 10000+ 代码库、3000+ 研发人员大型保险集团的研发效能提升实践
本文共计7354字,建议阅读时间:14~15分钟. 阅读本文你将获得: 1.金融行业研发效能提升的整体情况 2.金融行业研发效能提升的痛点: 3.研发效能提升实践过程经历: 4.研发效能提升系统方 ...
- Midway Serverless 2.0,一体化让前端研发再次提效
简介:2021 年 3 月,Midway Serverless 推出了第二个大版本.就像两年前说的一样,开源只是开始,终态远没有到来.Midway 体系希望能够在当前的十字路口,不断向前演进,让前端可 ...
- Midway Serverless 发布 2.0,一体化让前端研发再次提效
简介: 2021 年 3 月,Midway Serverless 推出了第二个大版本.就像两年前说的一样,开源只是开始,终态远没有到来.Midway 体系希望能够在当前的十字路口,不断向前演进,让前端 ...
- 字节跳动Dev Better技术沙龙成功举办,携手华泰分享Web研发效能提升经验
2022年6月25日,第一期字节跳动Dev Better技术沙龙活动如期在线上举行,近3000位开发者同学参与到交流与活动中,直播点赞量过万. 字节跳动Dev Better技术沙龙是字节跳动基础架构- ...
- 深入前端研发效能治理:数据化运营思路及其实践
简介: 数据中台前端研发无不让人厚重真实地感受到"唯一不变的是变化".拿集团的数据资产服务平台来说,业务上经过两年的发展,已由单一的数据管理和使用平台发展成了集团具有一定规模和影响 ...
- 前端团队研发效能提升的探索与实践
读者受益 研发效能定义:知道研发效能是什么?(对「研发效能」的定义有一个经得起推敲的参考) 研发效能提升:知道如何提升技术团队的研发效能?(对提升自己所在团队研发效能有一些想法/灵感) 技术的价值:当 ...
- 「技术人生」第10篇:如何做研发效能提升(即指标体系建设过程回顾)
01 背景 Aliware 纵观软件研发的发展历程,如果说"业务需求开发"是核心主线的话,那么研发效能建设就是这一核心主线之外最大的一条支线.每个历史阶段的研发效能所面对的主要矛盾 ...
- 建设一站式DevOps平台,腾讯云研发效能提升实践
本文作者:张渝 导语 | 近年来,研发效能提升越来越受到业界重视,许多厂商都在不断探索研发效能提升之路,从而实现研发效率和质量的持续优化,以应对日趋复杂的产品开发.那么腾讯云的研发效能相关工作是如何开 ...
- 聊聊代码质量 - 《学得会,抄得走的提升前端代码质量方法》前言
点击一键订阅<云荐大咖>专栏,获取官方推荐精品内容,学技术不迷路! <聊聊代码质量> 代码质量对公司和个人都很重要.但提升代码的方式有很多,在时间和资源有限的情况下,我们该做哪 ...
最新文章
- CSDN博客越来越垃圾了,到处放广告
- pytorch relu6
- IAR实际使用过程中遇到的问题
- 机器学习基石13-Hazard of Overfitting
- TCP/IP,HTTP,Socket的区别与联系
- 高效的半同步/半异步模式的实现
- python课设答辩问题及答案_HTML5网站前端开发设计答辩问题及答案
- SpringAOP 注解方式代码示例
- Oracle 归档开启切换和归档日志删除(单实例和RAC)
- JS来推断文本框内容改变事件
- c语言非标准输出电源适配器,五分钟了解设计模式(3)---适配器模式
- linux卸载jdk,安装jdk
- Qt使用flowlayout,使控件两端间距始终固定,垂直和水平间距相等
- java在线校验银行卡号_校验银行卡卡号
- android代码 灰色,一行代码实现界面全灰(android,web,flutter)
- 2020计算机专硕考数二的学校,2020考研备考:考研数一、数二、数三哪个最难?...
- vue-cli3.0 进行项目的部署和构建
- ubuntu18.04 搭建ffmpeg踩坑
- Firefox支持Websocket
- flex+php ria应用开发实战详解光盘,《Flex+PHPRIA应用开发实战详解-梁文新版》学习日记2...