Code Review 的首要目的是改善和保证代码质量,预防 bug。此外还有益于制定团队代码规范,形成团队技术氛围,加深技术团队成员沟通,老带新互助成长等等。

有些团队里 Code Review 处于开发流程的边缘位置,有些团队 Code Review 处于代码编写到部署的必经部分。对于我们来说,Code Review 是代码编写到部署的必经部分,所有代码都必须经过 Review 才能 merge。

单纯如我

Code Review 的几点实用性建议:

  1. 对事不对人。大家是同事,在一个团队工作和气很重要。不要在 Code Review 中说“你写的什么垃圾东西这种话”,你可以说“这个变量名不好理解,咱们换成巴拉巴拉是不是更好”。

2. 每个 Review 至少给一条正面评价。Code Review 本意是改善代码质量,增强团队成员之间的沟通,但是我一提交代码就有人说我写的垃圾,这很打击自信心啊,也不利于团队成员和平相处。代码有问题,指出问题是必须的,要实事求是,但是有的时候也需要给队友一点鼓励,例如简单的 或者“赞一个”我都很开心了。

3. 保证发布的代码和评审意见的可读性。大家都是程序员,你提交代码的时候,在符合团队风格的同时,把代码弄的好看点,如果你明确自己这个代码哪个地方不足,Highlight 出来让大家给意见。如果你是来 Review 代码的,把意见写的通顺点,评论有条理一些。对反引号 (`) 嵌入代码或三个反引号 (```) 写代码块,这样看的舒服得多,效率也高。

4. 用工具进行基础问题的自动化检查。用 Tab 还是空格,用两个空格还是四个空格,函数后面怎么换行等基础问题检查,可以使用 eslint 和Rubocop 等类似的工具进行,团队成员应该把更多精力放在代码规范,代码性能优化等地方。

5. 全员参加 Code Review,并设定各部分负责人。扩大 Code Review 参与面,参与不是说一定去审核别人的代码,可以是代码被审核,也可以是看别人审核意见,这都是学习的过程。并且每部分设定负责人,该负责人对这部分代码质量负责,负责人需要是资深工程师。全员参与 Code Review 可以让团队成员更快的成长,新人在看大佬 Review 代码的过程就能学到很多。

6. 每个代码 PR 内容一定要少。Code Review 效果和质量与 PR 代码量成反比,你一下提交这么多代码,我今天还下不下班了? 我女朋友你帮我陪?每次 PR 代码量小一些,看起来速度快,又不至于失去耐心,这样才能达到 Code Review 的效果,所以要经常进行 Code Review,但是每个 PR 代码量要少。我建议要少于 300 行/PR。

7. 在写新代码之前,先 Review 掉需要评审的代码。你让我去 Review 一周前的代码?我还得把思维和项目进度切换到一周前?大家肯定不愿意,所以要形成规定,写新代码之前先把旧的 Review 掉,提交 PR 的时候也保证代码量小,这样 Review 起来不需要大块时间,改起来也快。不能因为 Code Review 大幅耽误项目进度,进度是全团队的事,不是某个人的事。

8. 如果你有更好的方案,尽管提出来。在 Code Review 中经常会发现写的不好的地方,如果你有更好的方法,欢迎提出来!首先能改进这个 PR 的代码,其次能体现你的能力,团队应该定期对这种提出好的解决方案的同事进行奖励。

9. 不要在 review 中讨论需求,review 就是 review。不要在 Code Review 里搞别的,有需要就另安排时间进行,要明确 Code Review 是完善代码,不是需求和功能讨论,始终要以代码质量为中心。

Review代码审核建议相关推荐

  1. Gerrit 代码审核服务器的工作流和原理

    2019独角兽企业重金招聘Python工程师标准>>> Gerrit 代码审核服务器的工作流和原理 谷歌 Android 开源项目在 Git 的使用上有两个重要的创新,一个是为多版本 ...

  2. 讲讲我和Spring创始级程序员共同review代码的故事

    RocketMQ-Spring毕业了. 作为Apache RocketMQ的子项目,经过6个多月的孵化,RocketMQ-Spring发布了第一个Release版本v2.0.1,通过使用Spring ...

  3. Gerrit代码审核服务器搭建全过程

    Gerrit代码审核服务器搭建全过程 转载请标明出处:http://blog.csdn.net/ganshuyu/article/details/8978614 环境:Ubuntu12.xx 1.建立 ...

  4. 小程序代码审核一二事

    背景 最近自己写了一个本来打算只给自己用的小程序,因为害怕代码审核会出现一些状况.最后还是有惊无险的上架了.这里来说一下一些坑.帮助有需求的人通过审核. tips1.对个人主体开放的小程序服务 < ...

  5. 荐一份 Android 代码规范建议文档

    之前推送过:Android 代码规范大全,可以一起学习. 开源几年了,被很多人夸过,你的代码写得比较规范,甚至有人质疑自己代码的写法,但是迟迟没有出一个代码规范,说来惭愧,只是因为我早几年写的代码还不 ...

  6. Java编程中写出好代码的建议

    最近在做应用的性能优化,在review代码的过程中积累了一些规则和经验.做到这些规则的目的很简单,就是写出"优美"的代码来. 1.注释尽可能全面 对于方法的注释应该包含详细的入参和 ...

  7. Java编程中写出好代码的建议(转发)

    最近在做应用的性能优化,在review代码的过程中积累了一些规则和经验.做到这些规则的目的很简单,就是写出"优美"的代码来. 1.注释尽可能全面 对于方法的注释应该包含详细的入参和 ...

  8. 开源社区Review代码步骤

    以Ranger项目为例,说明开源社区Review代码详细步骤. 1.寻找合适的issue进行review 首先自己需要是某个开源项目的committer, 要有合入代码的权限. 2.review代码 ...

  9. 极简权限认证必须掌握【代码+原理+建议收藏】

    这个极简权限认证必须掌握,代码不过百,但是很关键 小白最近没有来问学委问题,不过前几天,有朋友问到如何进行访问控制,资源控制的,学委特地写了一篇. 这其实就是权限认证,理解并掌握其核心思想很重要,而且 ...

最新文章

  1. flutter中的生命周期
  2. Java Web 相关面试题总结
  3. conda 指定版本python_conda Pyhon版本切换
  4. 五十、微信小程序云开发中的云数据库
  5. linux无盘windows系统,Linux无盘启动Win2000终端
  6. C# 操作 access 数据库2
  7. aws sqs_在Spring中将AWS SQS用作JMS提供程序
  8. RabbitMQ 线上事故!慌的一批,脑袋一片空白……
  9. linux 编译程序的四个过程
  10. 机器学习中最常见的四种分类模型
  11. 海量图片存储与运算架构
  12. MOS管参数每一个参数详解-收藏版
  13. Elasticsearch——》测试:es近义词(同义词)配置
  14. 79:企业CRM客户系统:登录模块开发(cookie和session以及登录态校验)
  15. 使用公司域名邮箱的好处有哪些?企业邮箱域名注册流程是什么?
  16. 微信小程序大转盘抽奖
  17. 在Unity中实现基于粒子的水模拟(三:混合屏幕)
  18. Android屏幕常亮防息屏
  19. 无法将类 XXX中的构造器 XXX应用到给定类型
  20. EasyPlayer RTSP播放器:一个适用于安防行业的工具利器(EasyPlayer Windows v2.0.17.0709)

热门文章

  1. matlab终止调试的快捷键,8 个节省时间的MATLAB快捷键
  2. 任务二:停电停多久问题关键算法
  3. KPI“逼疯”特斯拉
  4. 嵌入式毕设分享 stm32的车牌识别系统
  5. mysql中设置字符集语句_MYSQL字符集设置的方法详解(终端的字符集)
  6. 使用第三方库读取plist文件
  7. 在线生成简单二维码图片
  8. 关于APP上传到苹果商店的详细步骤
  9. Apache - 模块 - mod rewrite - RewriteCond - 通过检查HTTP REFERER避免
  10. Angular中的 问号 和 感叹号 作用