软件质量保障之代码走查
目的
代码走查有几个目的,第一个是让新同学快速熟悉代码并了解系统。第二个是做咨询防控的事前检查,避免引发线上故障。第三个是通过一起讨论和审查,加强团队代码阅读和编写能力,让大家编写出优秀的代码。代码走查的优点非常多,但是最核心的还是提前发现问题并解决问题。
所以基于以上目的,代码走查不是批评而是发现问题共同成长,所以对于写代码的同学不需要过于紧张,但是在代码走查前可以自己看优化一遍,但是变更必须有单元测试覆盖。
什么场景应该做代码走查?我认为有几个时机点是需要做代码走查的,第一个是定期,每几个月定期做一次代码走查。第二个是有重大变更时做代码走查,如代码第一次上线或增加了比较多的代码。
如何进行代码走查
代码走查的角色
主持人:负责主持整个走查活动,包括会议邀约和控制时间(一般一小时左右)进度。为了让代码走查高效,需要及时阻止不必要的讨论,比如讲解人讲的太发散、或者大家针对一个点讨论时间过长。
讲解人:负责对代码进行讲解并跟进修改计划,一般是系统Owner或代码编写者。
记录人:记录代码走查记录,记录中包括代码走查中发现的问题点、修复方法和最佳实践,问题需要指定到对应的人。
评审人:对代码进行评审发现问题并找出最佳实践,一般是资深开发和测试同学。
参与人:参加代码走查,主要以学习为主。
走查前做好充分准备
讲解人整理本次要走读的代码分支、系分设计和代码入口,然后发邮件通知大家,参加代码走查的人提前阅读系分和代码,针对看不懂的代码、有问题的代码和设计复杂的代码全部提交Review记录。
讲解人必须想好走查哪些代码,一般是主流程或有问题的点,控制整个代码走查的时间,我们第一次代码走查花了三个多小时,由于时间太长,走查的过程中开发都走了几个。
走查中控制节奏
直接讲代码很多没参与的同学会很晕,所以先大致讲下系分设计,不需要全部讲完设计再讲代码,而是讲一部分设计,再讲一部分代码。讲解人带着大家一行一行读代码,讲解代码的含义和思考,记录人负责记录Review出的问题和最佳实践。
代码走查的评判标准,主要关注几个点
编码规范: 可以使用IDEA的插件自动扫描有没有编码问题。
设计规范
幂等性
逻辑问题:是否满足需求。
一致性问题
并发和锁:在并发情况下,代码执行结果是否有问题。
性能问题:代码是否存在性能问题,预计峰值流量能到多少。
分支覆盖率:是否有分支没有覆盖
走查后总结
在代码走查之后,要优化代码走查,所以会发一个调查问卷给大家
参加代码走查有什么收获?
对代码走查有什么建议?
我们走查完之后有几个改进点
时间把控:第一次代码走查主持人和讲解人时间没控制好,走查了三个多小时,后续主讲人讲重点,主持人随时控场,讨论超过几分钟的就记录下面,线下讨论。
重点优先:大家前面精力比较好后面就分神了,后续主讲人优先走查重点代码。
(全文完)
点击下方
阅读原文
软件质量保障之代码走查相关推荐
- 软件测试中的软件质量保证,软件质量保障全流程(上)
一. 软件质量保障流程 1.1 微服务产品的特点 微服务架构下,一个大型复杂软件系统不再是一个单体,而是一系列相互独立的微服务,特点鲜明: ·每个服务独立,开发技术栈独立 ·每个服务可以独立开发.部署 ...
- 【软件质量保障笔记】软件质量保障
文章目录 Introduction Classic Testing V model 单元测试 集成测试 系统测试 验收测试 α\alphaα测试和β\betaβ测试 测试流程 测试目标 测试范围 测试 ...
- 软件工程第三次作业——关于软件质量保障初探
一.什么是软件质量 软件质量就是"软件与明确地和隐含地定义的需求相一致的程度".更具体地说,软件质量是软件与明确地叙述的功能和性能需求.文档中明确描述的开发标准以及任何专业开发的软 ...
- 2022年度软件质量保障行业调查报告
2023年已经到了第2个月,大家OKR定好了吗?对目前工作满意吗?过去三年是否换过工作,所在的公司2022年有哪些重大变化,通过问卷结果,让我们看看测试同行们过去一年的经历,以及测试领域的变化. 软件 ...
- 软件质量保障实践合集
这一份软件质量保障实践合集是我们团队所采用的实践,全部来源于真实项目经历,都在我以往的文章中有介绍,这里是将它们重新整合浓缩到了7页 PPT 里边,并且对每个部分有详细的总结性介绍. 浓缩的都是精华, ...
- 软件质量保障体系建设
前言 从事软件测试相关工作七年,做过功能测试.自动化测试.测试开发.性能测试.专项测试,也干过一段时间技术管理. 近几年随着行业成熟度的发展,对软件测试也有了更高的要求,很多测试团队开始转变为质量保障 ...
- 揭秘阿里软件质量保障团队的建设方法
"质量与效率"一直是阿里关注的焦点.相对于软件开发,软件测试起步较晚,缺乏拥有专业知识的人才.即便是大学开设的软件工程专业,针对软件测试的介绍也只是涉及少量的概念和设计测试用例的方 ...
- 软件质量保证与测试作业2,2 软件质量保障与测试.ppt
2 软件质量保障与测试 第三讲 质量的度量 "度量"就是对象(物体或性质)在数值体系上的影射.也就是用一个数值描述这个对象.因此,它必须遵循如"唯一性"之类的规 ...
- 解读工业互联网建设中的安全保障
2017.11.27日,国务院发布关于深化"互联网+先进制造业"发展工业互联网的指导意见的政策文件.指导意见中用基本形势,总体要求,主要任务,保障支撑四个章节全面阐述了先进制造业融 ...
- 阿里微服务质量保障系列(一):微服务知多少
年初买了一本集团巨佬联合出的书<阿里测试之道>,然后认真拜读了下,我相信看过的同学都会获益匪浅,此书分享了阿里在大促保障.移动App测试.大数据测试.AI系统测试.云计算测试.资损防控.物 ...
最新文章
- 一年赚上亿的生意_如何一年不到的时间2万赚10个亿?
- 后副车架焊接机器人_车架全自动焊接机器人的日常维护保养方法
- .NET Core 3.0 使用Nswag生成Api文档和客户端代码
- JVM解惑:消失的异常堆栈,log中打印异常堆栈为空
- java 自定义 钩子_使用现有钩子的函数不能使用自定义do_action钩子
- ​Cell:粟硕/施莽团队利用宏转录组揭示“野味”动物携带和人类疾病密切相关的多种病毒...
- 安卓系统曝root权限安全漏洞 已有软件利用
- Linux基础学习-NFS网络文件系统实时文件共享
- 【b站黑马程序员C++视频学习笔记-文件操作】
- 关于OpenCV中图像的widthStep
- Jquery消息提示插件toastr的使用
- java动态二维数组定义_Java动态定义二维数组问题
- android 底层键值映射,如何在使用android-ETE时进行键值映射.doc
- 小记 events.EventEmitter.call
- nginx 404解决
- JAVA 攻城狮 第三天
- 人生启示录效应篇之破窗效应:及时矫正和补救正在发生的问题
- 超好用的鼠标增强软件:Smooze for Mac
- 10-133 4-5 查询具有最低价格的的彩色打印机的制造商
- 全国大学生计算机等级考试计算机二级python真题复习链接
热门文章
- 被封杀4年的看片神器终于解禁了,要跟百度网盘抢生意?
- 防止SQL注入的五种方法
- 线性代数学习之坐标转换和线性变换
- 斗鱼tv鸿蒙电视版,斗鱼直播鸿蒙版
- vue3引入echarts
- JeDate日期控件,未选择日,出现undefined错误
- Oracle查看IP操作,Oracle VM VirtualBox虚拟机ip addr命令查看ip不显示以及静态IP设置
- 微信8.0.0中的[烟花]\[炸弹]原来还可以这样玩(JAVA脚本)程序员的快乐,很简单,快来看!!!
- 什么是servlet ,servlet的作用
- android nfc常用标签读取