必要性

个人认为有以下必要性:

  1. 可以筛选出脑子抽风或者注意力不集中的情况;

人不是机器,总会在某个情况下抽抽一下,然后就会出现很简单的逻辑写错,到头来自己都很纳闷为什么自己会写出这样的代码;

注意力不集中时,或者被写代码被打断之后重新开始编码,也会出现写出来的代码和自己想要的代码出现偏差的情况,即手抖、手瘫、黄油手......

这种情况下在需求开发阶段到还好,如果是临上线,或者是代码影响范围很广,那么这个时候的脑子抽一下或者手抖一下可能会带来严重的后果。如果测试刚好漏掉了,或者流程不规范,代码修改之后压根不过测试的手,或者不通知测试,那么临上线时改代码出错的概率将会大大增加。

  1. 复习业务逻辑;

code review 时可以整理出需求的大致逻辑,然后梳理一遍。有疑问的地方跟产品经理沟通进行确认。

这个作用在需求开发阶段尤其重要,很可能一个沟通不到位就会导致逻辑错误从而导致所有的代码重写;

  1. 熟悉代码

不管是 review 自己的代码还是 review 别人的代码,都能提高对代码的熟悉程度。这点对于团队中的管理者或者是想成为管理者的人至关重要。你不一定是写代码的那个人,但你必须是最熟悉代码的人。在讨论新需求是你就是那个能够最快做决定的人,如决定需求能不能做、改动大不大、耗时多久等等。如此,才能统筹全局。

  1. 培养写代码的好习惯;

数组越界、字符串判断、空判断,这些都是写代码必须养成的习惯,否则一个很隐蔽的 crash 最后查了半天是因为一个非空判断没有写导致的,那么效率将会受到很大影响。

另外,写代码要有自己的一套流程,这套流程的细节不一定要人人一样,但个人认为大体要符合:

需求确认 -> 大体思路梳理 -> 流程图 -> 整体设计 -> 类设计 -> 数据模型设计-> 接口设计-> 编码

code review 也可以帮助自己完善这样的一套流程,养成一个好习惯,这样在最后的编码阶段基本上就是填字游戏了,效率高且不容易出错;

总之,code review 不仅可以帮助你避坑,还可能让你升职加薪,好处多多。

细节

  1. 代码逻辑

  2. 业务逻辑

  3. 字符串判断

  4. 数组越界判断

  5. 非空判断

  6. ......

奖惩措施

奖惩措施不仅针对于 code review,其更重要的目的是规范团队流程,提高团队效率,保证项目安全;

管理者可以制定一些奖惩措施来达到此目的,但是需要遵循几个原则:

  1. 固定时间

比如设定每周五写周报之前抽出时间来进行 code review,并且规定这段时间发生的 fix 相关的 merge/commit 不影响代码质量评定,或者占比降低,或是减轻处罚;相当于给一个自查的机会。

  1. 严重程度分级

线上重大 Bug、影响主流程的 Bug 肯定更加严重;

开发阶段发现的 Bug 肯定优先级最低,但是如果是基础习惯问题,也要严肃对待,比如很明显的不写数组越界判断,不判断字符串等;

  1. 避免开发者因为惩罚而去尝试瞒报

人总是趋利避害,也很会逃避。所以真的遇到比较大的事故时,有的人可能第一反应就是怎样把这个事情瞒下去,比如官场就经常如此,大概流程是:

先瞒,再拖,再想办法改,不行就拆东墙补西墙,实在没辙了就躺平;

这样做的原因无非就是利害关系,官场上只要出事必定追责,轻则处罚,重则影响仕途,甚至是几十年仕途直接断送。对于我们团队管理而言,要规避掉这一点,所以对于提前报备的一些 Bug、事故,可以从轻处罚。

有什么事不要瞒着,说出来大家一起探讨,权衡之后,真可以瞒,大家一起瞒啊

code review的一些思考相关推荐

  1. 如何做好Code Review:思考、方法和实践

    最近被要求做一个关于Code Review的讲演.首先要说明的是,我并不是太擅长开展Code Review的活动.做这个完全是因为答应了别人又不好反悔.不过在做准备的过程中还是有一些感想. 关于Cod ...

  2. Google是如何做Code Review的?| CSDN原力计划

    作者 | 帅昕 xindoo 编辑 | 屠敏 出品 | CSDN 博客 我和几个小伙伴一起翻译了Google前一段时间放出来的Google's Engineering Practices docume ...

  3. 万字详文告诉你如何做 Code Review

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达本文转自|机器学习实验室 前言 作为公司代码委员会 golang 分 ...

  4. 在腾讯,如何做 Code Review?

    作者:cheaterlin,腾讯 PCG 后台开发工程师 前言 作为公司代码委员会 golang 分会的理事,我 review 了很多代码,看了很多别人的 review 评论.发现不少同学 code ...

  5. Code Review 是一场苦涩但有意思的修行

    来自:阿里巴巴中间件 文  |  孤尽 前言 最近 CodeReview(以下简称CR )心态相当的平和,代码是一个讲道理的东西,是就是,否就否.在 CR 时,沟通特别轻松,问题讨论也特别聚焦,因为它 ...

  6. 如何做好Code Review

    时光匆匆流逝~ 今天是工程能力学习的最后一篇笔记了! 首先给坚持努力的自己呱唧呱唧! 然后搬好前排小板凳 学习啦! 本节课为<如何做好Code Review>,内容包括:为什么要做好Cod ...

  7. Google: 如何做code review?

    导语:Google 前几天公开了一篇谷歌的工程实践文档,内容跟 code review 相关,里面包含了 Google 工程师如何进行 code review 的内容,以及 code review 指 ...

  8. 你有做 Code Review 吗?

    在代码的编写中有一个很重要的环节,经常会被忽视,那就是 Code Review ,据说在 Facebook.Google 这种互联网大公司,要求每一个提交都必须通过审查,对于每个工程师来说 Code ...

  9. 在腾讯,如何做 Code Review

    作为公司代码委员会 golang 分会的理事,我 review 了很多代码,看了很多别人的 review 评论.发现不少同学 code review 与写出好代码的水平有待提高.在这里,想分享一下我的 ...

  10. 作为开发人员,这四类Code Review方法你都知道吗?

    本文翻译自:https://dzone.com/articles/4-types-of-code-reviews-any-professional-developer 转载请注明出处:葡萄城官网,葡萄 ...

最新文章

  1. c语言修改elf文件crc32,hash/crc32
  2. 时间序列研(part3)--单积性
  3. [Abp 源码分析]多租户体系与权限验证
  4. 为Java应用程序编写数据驱动的测试
  5. Kubernetes-Pod/ReplicaSet/Deployment/Service关系(二十一)
  6. 光电显示未连接服务器,T106串口服务器解决方案
  7. MyEclipse 代码自动提示功能失效 提示No Default Proposals 或 no completions available 的解决方法 转...
  8. ytkah网站建设解决方案 大中小微企业营销利器
  9. 微信小程序-图片上传功能的实现
  10. html中怎么设置字体形状,html如何设置字体样式 HTML里怎么设置字体大小?
  11. 计算机专业html5的毕业论文范文,5000字计算机专业大专毕业论文参考范文
  12. 来了!PCB多层板解析
  13. [朴孝敏][Ooh La La]
  14. 读《聪明人用方格笔记本》有图了有内容了
  15. wireshark 找不到wifi无线网卡的解决方法
  16. 俄罗斯方块游戏shell编程代码
  17. 下拉推荐在 Shopee Chatbot 中的探索和实践
  18. 主成分分析(PCA)与K-L变换
  19. 跳槽加薪谋发展还是等公司配股?
  20. iOS-AppStore审核指南(2017最新版)

热门文章

  1. java系统排序_java各种排序实现
  2. Future机制原理
  3. spring源码:实例化bean的准备工作
  4. 面试必考:秒杀系统的9个核心知识点,一次性打包给你
  5. [转]C#反射,根据反射将数据库查询数据和实体类绑定,并未实体类赋值
  6. python3+selenium入门03-操作谷歌浏览器
  7. session和cookie详解
  8. CC_STACKPROTECTOR防内核堆栈溢出补丁分析【转】
  9. 外包如何安排人手-b
  10. [android] android下文件访问的权限