代码质量管理:一次把事情做对
极客时间编辑部
讲述:初明明大小:4.32M时长:04:43
大部分程序员对自己的代码质量要求很高,可一旦遇到赶工压力,尤其是在 deadline 之前,就很可能会把完成度很低的代码交出去,心想“反正有人给我检查,到时候再说吧”。但是,这些代码就好比是一台“行走的 Bug 制造机”,后患无穷。
如何更好地规划质量管理活动呢?总体来说,你可以从三个方面入手。
一、质量规划,明确标准
规划质量,是识别项目及产品的质量要求和标准,并确定用哪些保障方法、改进措施来达到这些标准的过程。
需要注意的是,在业务生命周期的不同阶段,质量标准应该是动态变化的。比如,业务初创期追求的是最小化 MVP 模型的快速迭代,在这个阶段,质量往往不是最关键的因素。但是,当规模扩张到一定程度之后,对于质量的要求就非常高了。不同的项目对质量的要求也相差甚远,无法一概而论。因此,只能结合具体项目和具体阶段的质量诉求,对质量的标准进行合理定义。
你可以参考下面这张图片,它展示的是,一个已经进入规模增长期的稳定业务对客户端质量标准的定义。
定义好了质量标准,你要思考的是,在整个项目的进程中,需要规划好哪些质量保障活动,以很好地达到这个标准。
我给你分享一张各个阶段的质量保障手段的列表图。
其中,你需要特别关注研发过程中的质量保障手段,制定适当的编码规范、提交规范和分支规范,同时设计代码准入标准,确保代码 Review、单元测试、接口验证和 UI 验证等手段与你的项目质量要求相匹配。
二、质量分析,追根溯源
质量分析,是指识别项目运行期间,整体质量上遇到的问题和制约因素,分析根本原因,并制定相应的预防措施和解决方案。
这个过程最重要的是要追根溯源,找到问题症结。我给你推荐几种简单实用的方法。
1. 每月坚持开线上 Bug 分析会。你可以召集产品、研发、测试,一起对过去一个月的线上问题,进行深入的根因分析,制定策略并推进落实。
2. 持续进行内部 Bug 分类。从不同维度分析 Bug 原因,你可以按照具体引入阶段给 Bug 分类,比如需求不清、设计缺陷、逻辑错误、测试遗漏、变更引发的覆盖升级、历史遗留等,也可以按照 Bug 类别分为功能问题、性能问题、界面问题、兼容性问题等。从数据统计上,你就可以准确地知道,自己项目的质量问题主要出在哪个环节,下一步是要先规范代码准入标准,还是加强需求评审,以及哪些保障措施会更有效。
3. 建立质量大盘,拉通不同业务线或模块的每月 Bug 趋势,对齐千行代码 Bug 率、Bug 数 / 需求数的比率、Reopen Bug 率等,对低于平均线下的业务线或模块进行有针对性的原因分析。
三、质量控制,层层卡点
如果说质量分析的要点重在追根溯源,那么质量控制,就是将一些明确下来的质量规范和做法,真正落地到各个环节。我给你分享一张样例图,它展示的是从需求到发布的整个过程中的质量活动概览。
想要推动质量改进措施的落地,与之相匹配的工具是必不可少的。在网易,我们使用 PMO 自主设计开发的企业效能平台 Overmind,来完成持续集成和持续交付,并在需求到发布的整个链条中,层层设置相应的质量卡点。你可以根据实际需要,逐步为自己的应用定制合适的持续集成方案,指定代码准入的阈值,比如静态扫描、单元测试、覆盖率测试、冲突检测、Jar 包版本检测的通过条件等。
需要注意的是,质量控制及卡点行为,是要结合项目的质量要求和团队的质量成熟度,一层一层地加强质量把关和收口。即便是在同个项目的不同应用中,也会因为线上要求的不同,而对质量卡点有不同的侧重。通过质量卡点的在线工具化,才能做到真正有效的质量保障。
以上就是今天的内容,希望对你有所帮助。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
该免费文章来自《极客视点》,如需阅读全部文章,
请先领取课程
请先领取课程
免费领取
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(2)
- 最新
- 精选
- 小斧1. 每月坚持开线上 Bug 分析会。 2. 持续进行内部 Bug 分类。 3. 建立质量大盘,拉通不同业务线或模块的每月 Bug 趋势。 质量控制及卡点行为,是要结合项目的质量要求和团队的质量成熟度,一层一层地加强质量把关和收口。11
- 人月聊IT落地难
收起评论