技术标签: 技术 code review规范 开发流程
cr --new-review --include package1,package2,后面更新的话,命令为cr -r [cr版本号] --include package1,package2
//[简单可识别的标签: 如FIX,ProjectID][一行简洁的描述你的修改]
### 简短的描述
// 你修改了什么,为什么进行此次修改
// 你在修改的时候,考虑过哪些备选方案,为什么没有选择对应的修改方案
### 修改对应的资源链接
// 需求文档或者bug描述链接
### AB测试名字
// 相关的AB测试配置或者链接(如有)
### 影响范围
// 影响的国家,城市,
### 影响的持续集成环境
// 本次上线影响了哪个持续集成配置
### 测试情况
// 用了哪些测试数据,你是怎么测试的,测试结果可以贴在这
cr通过之后,需要进行以下步骤:
git rebase -i压缩代码git提交记录git pull --rebase更新代码cr -r [cr版本号]整个cr流程就是这样,你学会了吗?,喜欢我就关注我吧!
检查清单: @JAVA: 修改的代码: 包名小写 删除无用import 类名首字母,应该大写 /删除没有用的代码 类名首字母,应该大写...
总结 代码评审是一种广泛应用的软件质量提升方法。它可以检测出代码中的各种问题,但是作为一个初学课程,这篇阅读材料只提及了下面几个好代码通用的原则: 不要重复你的代码(DRY) 仅在需要的地方做注释 快速失败/报错 避免使用幻数 一个变量有且仅有一个目的 使用好的命名 避免使用全局变量 返回结果而非打印它 使用空白符提升可读性 下面把今天学的内容和我们的三个目标联系起来: 远离bug. 通常来说,代...
介绍几个轻量级代码检查工具,包括代码静态检查,整理代码等。 无论是自己一个人写代码,还是与其他人合作写代码,都希望能有一份高质量的代码,以便别人或未来的自己可读、可维护和可扩展。 于是往往我们需要代码评审(Code Review)。正式的代码评审已经有不少书籍介绍且与开发环境有关,这里只介绍几个轻量级代码检查工具,方便日常开发过程中提高自己的代码质量。 Python Pylint https://...
1.查过3个表的join,改用java进行数据组装 我们经常会遇到前端查询列表,但是列表的数据存在于多个表中。一般少于三个表的话,我们就会使用jion语句来处理。但是超过3个表的话,用jion显然不是好办法。通常就会采用java来处理。 伪代码如下: 2.数据封装过多时,采用异步线程 对于第一个问题,如果一个基础列表查出来,需要封装的数据过多时,可以采用异步线程来处理封装过程。对于使用到线程池的地...
由于公司的管理、规范和项目组本身的各种因素,导致代码上一直就存在这很大的问题,几个同事的离职和新人的加入,前几天一看他们的代码,立刻吓了一跳,看来代码的问题已经迫在眉睫了,终于决定把代码审查提上日程。于是开始研究各个开源的代码审查框架,花费了两天时间,成功安装了Groogle和JCR。顺便说一声,国内的资料真少…… Groogle介绍: Gr...
翻译自:https://github.com/golang/go/wiki/CodeReviewComments 注释 注释应该是一段完整的语句 注释应该以所描述内容的名字开头,并且以句号结尾 声明空的切片 应该使用: var t []string, 而不是: t := []string{} 前者会避免内存分配,除非使用了append() 不要使用panic 对于普通的错误处理,不要使用panic...
导语 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 ...
导语 以下基于hbase1.2,目前已经出了2.0版本,2.0具体细节没跟过,但是基本思路不变,优化了offheap、AssignmentManager(不再依赖zk做state数据交换,感觉这个思路有点像kafka的GroupCoordinator的思路,启动另一个管理节点,然后通过接口将结果分发到各工作节点,而尽量只用zk做小范围的一致性协调,减小数据写入,毕竟zk的写入吞吐量有限)等优化 一...
导语 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 ...
导语 YARN 2.6.0 版本还未支持GPU,且未启用DRF的DominantResourceCalculator的情况下,默认的DefaultResourceCalculator只是基于Memory来切割分配Container。 一.各组件间通信协议 框架层协议 应用层协议 二.on-yarn-app生命周期 Client请求RM获取AM_ID,然后封装ApplicationSubmissio...