代码质量是每个技术团队都很重视的一点,但是人员变动,开发人员水平层次不齐,需求细节不完善,开发周期紧张等等一系列问题都可能拉低代码质量,给我们的APP带来很多风险。CodeReview就是提高代码质量的手段之一。这周参与了3次不同模块的CodeReivew,趁热总结一次完善的CodeReview要经过哪些流程。
准备
- 会议室预定+时间确定。安静的环境, 没有特别紧急的事情要处理的时间才适合CodeReview不然关键人员一会会就出去了很打断流程。
- 人员邀请。确定被Review人 和 需要邀请参与的其他模块的负责人(有经验的reviewer)。
过程
- 被review的人 提前准备好代码,电脑,能run的工程,调试联网环境等。避免等待保证流畅进行。
- 需要会议记录者。可以是被review的人,也可以是其他人,但是一定要记录不然很多内容说过就忘。
- 开启一个MD文档,最好全组的review记录都能集中管理,可以是git仓库。便于后续回过头开看自己的问题和别人犯的问题。
- 有条件花3分钟演示下这次review的功能,给大家一个直接的感官,这个需求是什么 解决什么问题 哪里比较重要等。
- 被review的人 从大到小,从整体到细节的介绍整个代码。(Review内容 凭经验这里不做整理 太多了)
- 如果有打分机制可以进行一个打分或者总结。可以记录每个开发的kpi或者是否进步。
总结
- 针对此次review记录到的问题进行一个总结,有哪些整个团队都存在的问题(例如 日志记录规范)。
- 上传review记录,定好时间回查发现的问题是否改掉。
- 下次review 可以复盘一下之前review遇到的问题 是否有改善。
格式可以参考如下:
2019-7-12
主题:Review 资讯要闻
任务:重构 优化
问题记录
xxxxx
xxxx
xx
通过各种模式解耦和提高扩展性 +2
需求复杂 +1
总分: +3
待处理沟通问题:
- 图片压缩 规范处理
- 文件夹排版
- Identifier 命名规范
- 空行排版
- 注释 和#pragma 最佳实践
- viewDidLoad 布局
- projectContextService 调用解耦
- 相关股票的代码 请求+处理数据 在vc中
- model中的 调用内部工具类
- 了解SD 缓存图片的原理,释放过高内存
总结:
被Review人:
注释重要,代码行数 ,警告数量 比较重要
reviewer:
需要写单测的最佳实践
写在最后:
Better Late Than Never ,愿我们都能跨出自己的第一步。
站在巨人的肩膀上,感谢前辈们的文章。