CodeReview流程梳理
CodeReview流程梳理
- 第一部分:开场小游戏(2-3分钟,非必须)
- 第二部分:CodeReview主题、目的介绍(3-5分钟左右,初次之后可不再进行)
- 第三部分:CodeReview
- 第四部分:CodeReview回顾总结(1-2分钟)
- 第五部分:会议收尾(1-2分钟)
- 第六部分:会后
- 关键词及注意点
本文旨在梳理前两次的CodeReview流程,用于总结、分享、反思
第一部分:开场小游戏(2-3分钟,非必须)
游戏名称:大胃王
游戏简介:每个同事按次序说出之前同事吃饭的内容加上自己次序数量的食物,如:
第一个同事:我中午吃了一碗饭
第二个同事:我中午吃了一碗饭,喝了两瓶啤酒
第三个同事:我中午吃了一碗饭,喝了两瓶啤酒,吃了三碗面
第四个同事:我中午吃了一碗饭,喝了两瓶啤酒,吃了三碗面,又啃了四只烧鸡
第五个同事:同事,我中午吃了一碗饭,喝了两瓶啤酒,吃了三碗面,
又啃了四只烧鸡,还吃了五盒胃痛丸
以此类推。
游戏意义
这块上篇文章有梳理过,本篇文章就直接拿来用了,目的一样的,如下:
由于日常培训或会议大部分都是直接将大家从工作中抽离出来,
提前预定会议室,一般培训只会有两三个小时,
并不会专门抽出整天或好几天让大家全身心的参与到培训中,
因此往往前几分钟可能大家还在处理问题,
后几分钟就因为会议提醒直接被动的参与培训去了,
但此时很多人并不能很快的进入培训角色,
处于身在曹营心在汉状态,
因此通过各种小游戏,让大家转移注意力,
切换状态,转变角色,不再留恋之前的工作,
以提高培训质量
第二部分:CodeReview主题、目的介绍(3-5分钟左右,初次之后可不再进行)
阐述会议主题:代码评审、旨在提高团队代码质量-最核心且最基本的这里可以问下大家之前codeReview的感受和对CodeReview的印象,进而推出本次CodeReview的主题和目的。以下是第二次会议的大家对codeReview的感受和对CodeReview的印象发言记录:1.codeReview就是找问题,找bug,找茬甚至批斗会2.被Review的对象压力较大(用某位同事的话说:像是被扒光了裤子给人看一样)以上也是codeReview展开的核心痛点、难点:枯燥、有压力、氛围紧张,这些因素凑在一起就让大家比较抵触codeReview了,毕竟谁也不愿意‘被人看’,而这几点也是我们需要针对去解决的
问题转化
1.找问题、找bug 转化为 优化代码,怎样做更好?那样做没错,如何更好一旦不再是找bug、找茬,被review对象压力会小许多,但这还不够
2.会议主题再扩展、升华:不仅仅是优化代码的过程,更重要的是学习与交流的过程,学什么?既学当前review对象的设计也学习其编码上的亮点,甚至参会同事提出的好方案,好想法以下为前两次会议板书记录:
亚光老师板书:
第二次会议小熊同学板书(和亚光老师差的有点远哈):
板书上还是突出展示了本次会议的主题,非找bug、非批斗会、目的是优化、学习、交流,这点需要阐述清楚
第三部分:CodeReview
第一个环节:选人,选谁?
虽说上面说了那么多,还是避免不了选人问题,对于初次会议如何公平又有趣的选人(我刚开始以为公平重要,后来觉得有趣更重要,哈哈),变得有意思了,在这里列举亚光老师的选人方式作为参考:
每个人选个数字1-6之间,然后摇骰子,摇中谁就是谁了,人更多就是俩骰子。
人员选定后就可以正式开始codeReview了
第二个环节:看的是什么功能?
选定人员后并不是直接开始review代码,而是先搞清楚做了个什么功能
再去review代码,这里理解做什么功能,包括两方面,讲师或会议组织者,更重要的是参会同事理解在做什么
具体步骤:1.先请被review对象,简述功能,如果能演示最好演示出来2.讲师根据理解复述总结同时伴随其他人的交流,最好能给出图示,可视化出来3.参会同事理解、确认,达成共识背景功能阐述等很重要,理解要解决什么问题才能更好的review
第三个环节:如何review?
1.这次的是更新还是新开发的代码?更新的要看不同
2.代码如何看?2.1 先看流程2.2 再看细节
第四个环节:如何组织记录?
review的过程是全体成员共同参与的过程,是集思广益的过程
一旦开始review,大家思维开始发散,组织者需要
1.及时记录可优化点,
2.及时指出被review对象可被大家学习、借鉴的点
3.在某位同学思维发散过远时及时制止,例如过于纠结业务逻辑脱离review主题就应
及时阐明主题,控制会议时间,保障会议正常进行
大家思维发散提出很多可改进的点,组织者需要及时记录(收敛),便于后边回顾总结
第四部分:CodeReview回顾总结(1-2分钟)
带着大家通过板书简单回顾本次会议收获:可优化点及本次review对象可被大家
学习的点
第五部分:会议收尾(1-2分钟)
个人总结:一般是给大家一两分钟的准备时间,然后谈谈本次收获、以及会议建议
等两个方向这是一个收敛过程:在这一两分钟大家会回忆整个会议,思维再次收敛,
强化会议效果最后由本次review对象指出下次review对象(解决了下次选人问题)
第六部分:会后
以下是个人目前的做法做为参考:我是将大家提出的可优化点记录在《编码共识思维导图》和另一篇文档中(名字记不大清楚了),放在神兵知识库维护(类似语雀文档),每次codeReview会议后更新,参会人员都有编辑权限,有好的想法都可以及时更新。给大家作为编码前后参考、自检。
关键词及注意点
发散、收敛、可视化、讲师重在引导
CodeReview流程梳理相关推荐
- .16-浅析webpack源码之编译后流程梳理
这节把编译打包后的流程梳理一下,然后集中处理compile. 之前忽略了一个点,如下: new NodeEnvironmentPlugin().apply(compiler); // 引入插件加载 i ...
- 【EventBus】EventBus 源码解析 ( 注册订阅者总结 | EventBus 注册订阅者流程梳理 )
文章目录 EventBus 注册订阅者流程梳理 EventBus 注册订阅者流程梳理 EventBus 注册订阅者流程梳理 : ① 在 客户端 调用 EventBus.getDefault().reg ...
- 【Binder 机制】AIDL 分析 ( AIDL 通信完整流程梳理 )
文章目录 AIDL 跨进程通信完整流程梳理 1.AIDL 文件编译 2.注册服务 3.IMyAidlInterface.Stub.asInterface 方法获取远程服务 4.IMyAidlInter ...
- 在流程梳理的过程中,OA工作组应采用国际先进方法
进行OA服务建模 服务建模是通过对全部业务流程的全面分析,初步确定业务服务和应用服务,包括服务封装的业务/应用逻辑和对外提供的操作候选. 服务建模的前提是需对业务流程和系统功能非常了解.服务建模的工作 ...
- android p wifi一直在扫描_(一百六十八)Android P wifi 扫描失败结果上报流程梳理-扫描上报梳理②...
接(一百五十五)Android P wifi 扫描失败结果上报流程梳理-扫描上报梳理 扫描失败上报梳理发现梳理的差了很多,特补充 1.WificondScannerImpl @Override pub ...
- jeecg流程梳理学习
jeecg 流程梳理 角色 admin 管理员 fgld 学校分管领导 bgs 学校办公室 xbld 系部领导 xbky 系部科员 jxky bmld 部门领导 发文申请 applyUserId ad ...
- MFC 学习笔记(一):MFC单文档程序运行流程梳理与总结
MFC 学习笔记(一):MFC单文档程序运行流程梳理与总结 1.MFC单文档程序运行流程 1.首先利用全局变量对象 theApp 启动应用程序 (这是因为这个全局对象,基类CWinApp中 this ...
- Handler消息机制介绍,流程梳理
文章目录 前言 基本使用 发送和处理Runnable 发送和处理Message 流程梳理 获取消息 发送消息 消息入队 消息出队 理解 源码分析 前言 Handler 是Android 的消息处理机制 ...
- 敏捷开发--实际工作流程梳理
敏捷开发–工作流程梳理,让工作更效率 前言:说下我公司敏捷模式,发布周期工作流程和故事开发流程 先说下敏捷的相关概念: 敏捷简述: 敏捷开发是以用户的需求进化为核心,采用迭代.循序渐进的方法进行的软件 ...
- 高通SDX12平台:启动流程梳理
高通SDX12平台 启动流程梳理 1. 高通平台CPU类型介绍 通常我们所说的CPU如高通平台MSM8998.苹果A12, 华为海思平台(麒麟980.990)等,这些我们虽然叫CPU,但并不是只有一个 ...
最新文章
- 区域链实践第一步——区域链测试环境搭建
- MIDP2.0引入了Push注册机制
- 在一台Mac上不同平台同时使用多个Git账号
- 开发日记-20190621 关键词 读书笔记《鸟哥的Linux私房菜-基础学习篇》
- 整理与总结Python关于对文件的操作
- java编程求最小公约数_java求最大公约数与最小公倍数
- 骚操作,IDEA防止写代码沉迷插件 !
- java.sql.exception_java.sql.SQLException: 违反协议
- 堆栈在DNA计算机中的应用,堆栈和二叉树数据结构在DNA计算机中的设计与实现
- pcb设计单点接地示意图_4种PCB设计中的接地方式解析
- JVM-class文件完全解析-字段表集合
- 迅雷极速与旋风的对比
- python计算工资_python学习之工资结算
- Python基本用法练习题
- mysql sqlyog 1045_sqlyog错误代码1045
- 【渝粤教育】电大中专电商运营实操 作业 题库
- 我们工作到底为了什么
- 记录学习Android基础的心得07:硬件控制P2
- turtle(海龟)知识点整理
- 【高级数理统计R语言学习】9 无序多分类分析