Review代码审核建议
Code Review 的首要目的是改善和保证代码质量,预防 bug。此外还有益于制定团队代码规范,形成团队技术氛围,加深技术团队成员沟通,老带新互助成长等等。
有些团队里 Code Review 处于开发流程的边缘位置,有些团队 Code Review 处于代码编写到部署的必经部分。对于我们来说,Code Review 是代码编写到部署的必经部分,所有代码都必须经过 Review 才能 merge。
单纯如我
Code Review 的几点实用性建议:
- 对事不对人。大家是同事,在一个团队工作和气很重要。不要在 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代码审核建议相关推荐
- Gerrit 代码审核服务器的工作流和原理
2019独角兽企业重金招聘Python工程师标准>>> Gerrit 代码审核服务器的工作流和原理 谷歌 Android 开源项目在 Git 的使用上有两个重要的创新,一个是为多版本 ...
- 讲讲我和Spring创始级程序员共同review代码的故事
RocketMQ-Spring毕业了. 作为Apache RocketMQ的子项目,经过6个多月的孵化,RocketMQ-Spring发布了第一个Release版本v2.0.1,通过使用Spring ...
- Gerrit代码审核服务器搭建全过程
Gerrit代码审核服务器搭建全过程 转载请标明出处:http://blog.csdn.net/ganshuyu/article/details/8978614 环境:Ubuntu12.xx 1.建立 ...
- 小程序代码审核一二事
背景 最近自己写了一个本来打算只给自己用的小程序,因为害怕代码审核会出现一些状况.最后还是有惊无险的上架了.这里来说一下一些坑.帮助有需求的人通过审核. tips1.对个人主体开放的小程序服务 < ...
- 荐一份 Android 代码规范建议文档
之前推送过:Android 代码规范大全,可以一起学习. 开源几年了,被很多人夸过,你的代码写得比较规范,甚至有人质疑自己代码的写法,但是迟迟没有出一个代码规范,说来惭愧,只是因为我早几年写的代码还不 ...
- Java编程中写出好代码的建议
最近在做应用的性能优化,在review代码的过程中积累了一些规则和经验.做到这些规则的目的很简单,就是写出"优美"的代码来. 1.注释尽可能全面 对于方法的注释应该包含详细的入参和 ...
- Java编程中写出好代码的建议(转发)
最近在做应用的性能优化,在review代码的过程中积累了一些规则和经验.做到这些规则的目的很简单,就是写出"优美"的代码来. 1.注释尽可能全面 对于方法的注释应该包含详细的入参和 ...
- 开源社区Review代码步骤
以Ranger项目为例,说明开源社区Review代码详细步骤. 1.寻找合适的issue进行review 首先自己需要是某个开源项目的committer, 要有合入代码的权限. 2.review代码 ...
- 极简权限认证必须掌握【代码+原理+建议收藏】
这个极简权限认证必须掌握,代码不过百,但是很关键 小白最近没有来问学委问题,不过前几天,有朋友问到如何进行访问控制,资源控制的,学委特地写了一篇. 这其实就是权限认证,理解并掌握其核心思想很重要,而且 ...
最新文章
- flutter中的生命周期
- Java Web 相关面试题总结
- conda 指定版本python_conda Pyhon版本切换
- 五十、微信小程序云开发中的云数据库
- linux无盘windows系统,Linux无盘启动Win2000终端
- C# 操作 access 数据库2
- aws sqs_在Spring中将AWS SQS用作JMS提供程序
- RabbitMQ 线上事故!慌的一批,脑袋一片空白……
- linux 编译程序的四个过程
- 机器学习中最常见的四种分类模型
- 海量图片存储与运算架构
- MOS管参数每一个参数详解-收藏版
- Elasticsearch——》测试:es近义词(同义词)配置
- 79:企业CRM客户系统:登录模块开发(cookie和session以及登录态校验)
- 使用公司域名邮箱的好处有哪些?企业邮箱域名注册流程是什么?
- 微信小程序大转盘抽奖
- 在Unity中实现基于粒子的水模拟(三:混合屏幕)
- Android屏幕常亮防息屏
- 无法将类 XXX中的构造器 XXX应用到给定类型
- EasyPlayer RTSP播放器:一个适用于安防行业的工具利器(EasyPlayer Windows v2.0.17.0709)