代码先锋网 代码片段及技术文章聚合

大厂Code Review 流程

技术标签: 技术  code review规范  开发流程

提交cr的流程

  • 检查代码风格(可以安装googlestyle或者Alibaba的一些stylecheck工具,也许各开发团队会有自己的风格规范)
  • 从mainline中同步代码,注意使用(git pull --rebase)而不是(git pull)
  • 测试你的代码,单元测试(UT)覆盖率至少达到90%以上,对于订单相关的组件修改,需要手动完成集成测试(最好通过脚本的方式)
  • 一次提交尽可能的只包含一个特性的修改,如果涉及到多个特性的修改,在允许的情况下,分成两个cr提交
  • 提交cr命令使用cr --new-review --include package1,package2,后面更新的话,命令为cr -r [cr版本号] --include package1,package2
    推荐的cr描述如下:

 

//[简单可识别的标签: 如FIX,ProjectID][一行简洁的描述你的修改]


### 简短的描述
// 你修改了什么,为什么进行此次修改

// 你在修改的时候,考虑过哪些备选方案,为什么没有选择对应的修改方案

### 修改对应的资源链接
// 需求文档或者bug描述链接

### AB测试名字
// 相关的AB测试配置或者链接(如有)

### 影响范围
// 影响的国家,城市,

### 影响的持续集成环境
// 本次上线影响了哪个持续集成配置

### 测试情况
// 用了哪些测试数据,你是怎么测试的,测试结果可以贴在这

代码check in

cr通过之后,需要进行以下步骤:

  • 通过 git rebase -i压缩代码git提交记录
  • 通过 git pull --rebase更新代码
  • 更新cr cr -r [cr版本号]
  • 千万不要通过git push去推送代码,一定要通过cr页面进行merge

整个cr流程就是这样,你学会了吗?,喜欢我就关注我吧!

版权声明:本文为ccmlove123原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/ccmlove123/article/details/104052614

智能推荐

My Code Review

检查清单: @JAVA: 修改的代码: 包名小写 删除无用import 类名首字母,应该大写 /删除没有用的代码 类名首字母,应该大写...

Code Review 4

总结 代码评审是一种广泛应用的软件质量提升方法。它可以检测出代码中的各种问题,但是作为一个初学课程,这篇阅读材料只提及了下面几个好代码通用的原则: 不要重复你的代码(DRY) 仅在需要的地方做注释 快速失败/报错 避免使用幻数 一个变量有且仅有一个目的 使用好的命名 避免使用全局变量 返回结果而非打印它 使用空白符提升可读性 下面把今天学的内容和我们的三个目标联系起来: 远离bug. 通常来说,代...

代码评审 Code Review

介绍几个轻量级代码检查工具,包括代码静态检查,整理代码等。 无论是自己一个人写代码,还是与其他人合作写代码,都希望能有一份高质量的代码,以便别人或未来的自己可读、可维护和可扩展。 于是往往我们需要代码评审(Code Review)。正式的代码评审已经有不少书籍介绍且与开发环境有关,这里只介绍几个轻量级代码检查工具,方便日常开发过程中提高自己的代码质量。 Python Pylint https://...

code review集锦

1.查过3个表的join,改用java进行数据组装 我们经常会遇到前端查询列表,但是列表的数据存在于多个表中。一般少于三个表的话,我们就会使用jion语句来处理。但是超过3个表的话,用jion显然不是好办法。通常就会采用java来处理。 伪代码如下: 2.数据封装过多时,采用异步线程 对于第一个问题,如果一个基础列表查出来,需要封装的数据过多时,可以采用异步线程来处理封装过程。对于使用到线程池的地...

Code Review之Groogle安装

由于公司的管理、规范和项目组本身的各种因素,导致代码上一直就存在这很大的问题,几个同事的离职和新人的加入,前几天一看他们的代码,立刻吓了一跳,看来代码的问题已经迫在眉睫了,终于决定把代码审查提上日程。于是开始研究各个开源的代码审查框架,花费了两天时间,成功安装了Groogle和JCR。顺便说一声,国内的资料真少……   Groogle介绍:   Gr...

猜你喜欢

Golang code review comments 【译文】

翻译自:https://github.com/golang/go/wiki/CodeReviewComments 注释 注释应该是一段完整的语句 注释应该以所描述内容的名字开头,并且以句号结尾 声明空的切片 应该使用: var t []string, 而不是: t := []string{} 前者会避免内存分配,除非使用了append() 不要使用panic 对于普通的错误处理,不要使用panic...

APACHE ZOOKEEPER 3.5.3 CODE REVIEW

导语 zab协议包含两个阶段崩溃恢复与消息广播,基于zookeeper 3.5.3集群启动以及ZooKeeper.setData来分别说明下两阶段的流程。 一.Index 1.1 崩溃恢复 1.2 消息广播 二.reference https://zhuanlan.zhihu.com/p/25332396 从Paxos到Zookeeper-分布式一致性原理与实践 三.下篇 REDIS 3.2.8 ...

APACHE HBASE 1.2.0 CODE REVIEW

导语 以下基于hbase1.2,目前已经出了2.0版本,2.0具体细节没跟过,但是基本思路不变,优化了offheap、AssignmentManager(不再依赖zk做state数据交换,感觉这个思路有点像kafka的GroupCoordinator的思路,启动另一个管理节点,然后通过接口将结果分发到各工作节点,而尽量只用zk做小范围的一致性协调,减小数据写入,毕竟zk的写入吞吐量有限)等优化 一...

APACHE KAFKA 0.10.0 CODE REVIEW

导语 Kafka 0.10.0还未实现Exactly-Once[1],consume虽然可以基于事务实现Exactly-Once,但是produce流程如果ack阶段丢失响应依然会造成日志重复,所以本版本的实现Exactly-Once的方式还是建议采用消费端做幂等来实现。 一.Index 1.1 Produce流程 1.2 Consume流程 1.3 Replicas机制 二.reference ...

APACHE YARN 2.6.0 CODE REVIEW

导语 YARN 2.6.0 版本还未支持GPU,且未启用DRF的DominantResourceCalculator的情况下,默认的DefaultResourceCalculator只是基于Memory来切割分配Container。 一.各组件间通信协议 框架层协议 应用层协议 二.on-yarn-app生命周期 Client请求RM获取AM_ID,然后封装ApplicationSubmissio...