怎么做好Code Review?
前端壹栈
共 1646字,需浏览 4分钟
· 2021-09-05
团队为什么要做好Code Review?
一、Code Review的好处
❝Code Reviewa可以保证项目质量,推升团队技术水平
❞
想要做好Code Review,必须让参与的工程师充分认识到Code Review的好处
1、互相学习,彼此成就
2、知识共享,自动互备
3、统一风格,提升质量
二、推动Code Review落地执行
1、选定工具
可以用来做Code Review的工具很多,这里主要介绍相对主流的Gerrit、GitLab
Gerrit
❝Gerrit是Google开源的代码审查工具,Gerrit也是一个基于Git构建的版本管理工具,Gerrit支持将其他Git仓库的代码跟Gerrit自己的仓库做同步。所有的代码审查的操作以及权限控制都是在Gerrit自己的仓库上进行的。
❞
GitLab家族
❝GitLab是基于Git构建的源代码管理系统,基于GitLab构建的 GitLab.com 是仅次于 GitHub.com 的在线源代码管理平台。
❞
2、制定开发规范
❝没有规则,就没有执行。规则中首当其冲的就是开发规范。
❞
规范中建议包含:
工程规范(工程结构,分层方式及命名等等) 命名规范(接口、类、方法名、变量名等) 代码格式(括号、空格、换行、缩进等) 注释规范(规定必要的注释) 日志规范(合理的记录必要的日志) 各种推荐与不推荐的代码示例
3.制定流程规范
确定Code Review实施环节 确定Code Review实施环节
code review 行话
❝最后分享下code review 行话
❞
简称 | 全称(解释) |
---|---|
LGTM | Looks Good To Me「对我来说,还不错」表示认可这次PR,同意merge合并代码到远程仓库 |
ASAP | As Soon As Possible「尽快」 |
ACK | Acknowledgement「承认,确认,同意」i.e. agreed/accepted change |
NACK/NAK | Negative acknowledgement「不同意」 i.e. disagree with change and/or concept |
RFC | Request For Comments「请求进行讨论」 i.e. I think this is a good idea, lets discuss |
WIP | Work In Progress 「进展中」常见词汇,这里作为 Best Practice 单独提出来,主要针对改动较多的 PR,可以先提交部分,标题或 Tag 加上 WIP,表示尚未完成,这样别人可以先 review 已提交的部分 |
AFAIK/AFAICT | As Far As I Know / Can Tell 「据我所知;就我所知」 |
IIRC | If I Recall Correctly「如果我没有记错的话」 |
IANAL | I am not a lawyer , but I smell licensing issues「-」 |
IMO | In My Opinion 「在我看来」 |
TL;DR | Too Long; Didn’t Read 「太长懒得看」README 文档常见。 |
PR | Pull Request「合并请求」 |
CR | Code Review 「代码审查」 |
PTAL | Please Take A Look.「你来瞅瞅?」用来提示别人来看一下 |
TBR | To Be Reviewed「提示维护者进行 review」 |
TBD | To Be Done(or Defined/Discussed/Decided/Determined). 「未完成,将被做」根据语境不同意义有所区别,但一般都是还没搞定的意思。 |
TBH | To Be Honest 「老实说」 |
atm | at the moment 「现阶段」 |
评论
只写后台管理的前端要怎么提升自己
大厂技术 高级前端 Node进阶点击上方 程序员成长指北,关注公众号回复1,加入高级Node交流群本人写了五年的后台管理。每次面试前就会头疼,因为写的页面除了表单就是表格。抱怨过苦恼过也后悔过(虽然我现在已经心安理得的摆烂),但是站在现在的时间点
程序员成长指北
1
Code Review 时,曾被我忽视的 3 件重要小事
来源:pigleiCode Review(代码评审)是一种流行的软件开发实践。通过在代码合入主分支前引入人工评审,能有效促进成员间的知识交流,提升软件质量。我以评审者的身份参与过大量代码评审。在评审一份代码时,有些事项长期处在我的关注榜头部,比如设计是否考虑到了边界情况、代码是否有合理的单测覆盖。也
Python猫
8
人脑是怎么防止梯度消失和梯度爆炸的?
点击上方“小白学视觉”,选择加"星标"或“置顶”重磅干货,第一时间送达编者荐语 神经网络,也称为人工神经网络 (ANN) 或模拟神经网络 (SNN),是机器学习的子集,并且是深度学习算法的核心。其名称和结构是受人类大脑的启发,模仿了生物神经元信号相互传递的方式。文 | 冒蓝火的加特林源 |
小白学视觉
10
Redis 是怎么从单体架构发展到分布式缓存的?
图解学习网站:https://xiaolincoding.comRedis 架构是如何一步一步发展到今天的样子的?2010 年 - 单体 RedisRedis 1.0 于 2010 年发布,当时的架构非常简单。它通常用作业务应用程序的缓存。不过,Redis 将数据存储在内存中。当我们重启 Redis
小林coding
10
怎么才能用pandas删除第一列第0行?
点击上方“Python共享之家”,进行关注回复“资源”即可获赠Python学习资料今日鸡汤乡书不可寄,秋雁又南回。大家好,我是皮皮。一、前言前几天在Python白银交流群【unswervingly】问了一个Pandas处理的问题,提问截图如下:问题截图如下:二、实现过程这里【dcpeng】给了一个思
IT共享之家
0
炸裂!最新CVPR2024、ACL2024、AAAI2024、ICML2023论文+Code大合集!
我花了3个月的时间整理了包括CVPR 2023/2024、ECCV 2023、ICML 2023、ICLR 2024/2023、NeurIPS 2023、ACL 2024、EMNLP 2023、AAAI 2024/2023、WWW 2023/2024等顶会在内的超过20000篇人工智能优质论文,今天
小白学视觉
10
实际工程项目中是怎么用卡尔曼滤波的?
点击上方“小白学视觉”,选择加"星标"或“置顶”重磅干货,第一时间送达编辑 | 汽车人原文链接:https://www.zhihu.com/question/358334095回答一 作者:李崇链接:https://www.zhihu.com/question/358334095
小白学视觉
10
面试官:来说说vue3是怎么处理内置的v-for、v-model等指令?
前言最近有粉丝找到我,说被面试官给问懵了。粉丝:面试官上来就问“一个vue文件是如何渲染成浏览器上面的真实DOM?”,当时还挺窃喜这题真简单。就简单说了一下先是编译成render函数、然后根据render函数生成虚拟DOM,最后就是根据虚拟DOM生成真实DOM。按照正常套路面试官接着会问vue响应式
高级前端进阶
10