Keke Yezi

Better Late Than Never

我是叶斌 (Kekeyezi) 就职国泰君安.


Coding & Game & 初级奶爸

iOS CodeReview

代码质量是每个技术团队都很重视的一点,但是人员变动,开发人员水平层次不齐,需求细节不完善,开发周期紧张等等一系列问题都可能拉低代码质量,给我们的APP带来很多风险。CodeReview就是提高代码质量的手段之一。这周参与了3次不同模块的CodeReivew,趁热总结一次完善的CodeReview要经过哪些流程。

准备

  1. 会议室预定+时间确定。安静的环境, 没有特别紧急的事情要处理的时间才适合CodeReview不然关键人员一会会就出去了很打断流程。
  2. 人员邀请。确定被Review人 和 需要邀请参与的其他模块的负责人(有经验的reviewer)。

过程

  1. 被review的人 提前准备好代码,电脑,能run的工程,调试联网环境等。避免等待保证流畅进行。
  2. 需要会议记录者。可以是被review的人,也可以是其他人,但是一定要记录不然很多内容说过就忘。
  3. 开启一个MD文档,最好全组的review记录都能集中管理,可以是git仓库。便于后续回过头开看自己的问题和别人犯的问题。
  4. 有条件花3分钟演示下这次review的功能,给大家一个直接的感官,这个需求是什么 解决什么问题 哪里比较重要等。
  5. 被review的人 从大到小,从整体到细节的介绍整个代码。(Review内容 凭经验这里不做整理 太多了)
  6. 如果有打分机制可以进行一个打分或者总结。可以记录每个开发的kpi或者是否进步。

总结

  1. 针对此次review记录到的问题进行一个总结,有哪些整个团队都存在的问题(例如 日志记录规范)。
  2. 上传review记录,定好时间回查发现的问题是否改掉。
  3. 下次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 ,愿我们都能跨出自己的第一步。

站在巨人的肩膀上,感谢前辈们的文章。

最近的文章

iOS App Optimization series 5 卡顿优化

0X01理论卡顿原理:目前主流移动设备均采用双缓存+垂直同步的显示技术。大概原理是显示系统有两个缓冲区,GPU会预先渲染好一帧放入一个缓冲区内,让视频控制器读取,当下一帧渲染好后,GPU会直接将视频控制器的指针指向第二个容器。这里,GPU会等待显示器的VSync(即垂直同步)信号发出后,才进行新的一帧渲染和缓冲区更新。大多数手机的屏幕刷新频率是60HZ,如果在 1000⁄60=16.67ms 内没有将这一帧的任务执行完毕,就会发生丢帧现象,这便是用户感受到卡顿的原因。这一帧的绘制任务包括C...…

优化继续阅读
更早的文章

APM设想

起因​ 为什么会考虑到想自研APM呢?对于我们软件的开发流程中我发现大家都聚焦于代码的质量,需求的准确性和稳定性,很容易忽视关于性能方便的要求。当然在硬件条件越来越好的时代,我们还有必要关注性能嘛?答案是当然的:有必要 而且很有必要。现在一个App的业务繁多,一个超级App可能大大小小可以供用户使用的需求能达到上千个,常用的页面涉及到几十个。如果每个需求哪怕只有一点的性能浪费积累起来就会给用户产生一定的影响。代码质量我们可以CodeReview、 静态检测,需求的准确性和稳定性我们可以通过...…

优化继续阅读