当前位置:网站首页>在代码评审中用好这7招,很容易就能建立起你的反对同盟
在代码评审中用好这7招,很容易就能建立起你的反对同盟
2022-07-22 04:51:00 【格格巫 MMQ!!】
在软件开发中,代码评审是一个关键的流程。
一个团队,代码评审开展的好,可以大不度的提升团队整体的交付质量,同时团队内的成员也可以很好的提升能力。
另一个方面,如果评审走歪了,代码评审可能就变成了大型踩踏的事故现场,彼此互相攻击,破坏信任等。
下面是如何搞砸一次代码评审,来为你树立敌人的7个招数:
1、代码风格的反馈
在代码评审中,对毫无戒心同事发起攻击,最好招式就是:不断指出其不符合编码规范的问题。
大多数公司内都有编码规范的文档,好好学习和利用吧。然后开始要求没有明确的提及的修改。如果代码规范中没有提到什么,那么这就是一个完美的机会,可以要求进行无意义的修改,这样就会给你要攻击的目标带来很多无意义的工作,譬如:
对单元测试类中的方法进行正确的类型提示了吗?
方法上没有添加void的标识了吗?
变量的命名是否过于冗长呢?
等等。
使用编码规范,来不断的折磨你的同伴吧。
2、要求做无意义的变更
第一步很烦人,但不会让你的敌人心生怨恨。你的继续努力,接下来就是毫无意义的变更要求。
如果有两种方法来做一件事,要求他们必须按照你的方式来修改代码,不接受那些对你不利而对他有利的理由。
你需要长篇大论的写反馈建议,来捍卫你所谓的正确。
如果你不想写太多解释性的东西,那你也可以用这样的说辞,让他们觉得自己不合理:
我不知道你为什么对我的这个要求如此难以接受呢,这样做是正确的,是对你好的,请按照我说的来,谢谢。
让你的同事,每天花大量时间来重写那些工作的很好的代码,是不是很爽呢。
3、长时间的拖延
给出评审反馈的时候不要着急。收到评审请求,在24小时,甚至48小时候,再来做评审的事情吧。当收到催促挑战时,就声称自己忙于其他事情啦。
这样做的目标是让他的PR变味。未能及时关闭的拉去分支会被认为是技术债务,需要付出额外的工作来做维护。这是一项非常烦人乏味的工作。所以尽可能的拖延每个分支的持续时间,来增加你攻击目标同事的版本合并过程中,解决冲突的风险和时间吧。
如果你的攻击目标,没有在每一版本分支拉去前,处理过2-3次的合并冲突,那你的速度就太快了,有很多的进步空间。
4、要求增加bug
要求增加变更,是增加工作量的一种很好的方式。而要求做出变更并带来bug的负面影响,这也是增加工作量的一种方式。
你攻击的对手们,一面需要努力的做出变更,然后再变更后发现了新的bug,一面还要费力的去花时间修复新增的bug,是不是很有成就感呢。
5、评审请求中只有代码规范的变更
你让你的敌人审查的每一次变更中,都至少应该包含有50%以上的非关键功能性的、不必要的代码样式上的调整。
尽可能不在请求说明关键的变更有哪些,让你的敌人们自己去猜吧,让他们盲目的去浪费时间来处理你的评审吧。
6、创建超大范围的评审
当在几十行代码上做评审,是非常容易的。但你想要的不是容易和简单,而是希望你的敌人们在收到你的评审请求是感到恐惧:让你的评审中,至少包含10几个文件,1000行以上的代码吧。
对这类的分支请求,也需要快速的处理,他们是技术债务,你可自己去合并解决代码冲突。所以要不断骚扰和催促每一个人,以快速的完成你分支的合并。
同时,也不接受任何人关于你负责分支版本反应慢的反馈,让他们知道你版本的重要性。
7、忽视他人的反馈
在代码评审期间,一直要强调这点:忽视他人的反馈,因为他们是在报复你。
在代码评审中,避免任何负面反馈造成影响最好的一个办法:忽视一切的反馈。
有人给出来了需要做出更改的反馈吗? 忽视他吧,找关系搞定版本的合并,而不是去费力的修复它。
不喜欢任何人用有效的反馈来增加你的工作量,让他们像鸭子背上的水珠,从你的分支版本上滑下来。
写在最后
让上面这些行动,不断的重复,重复,再重复。
持续几个月,你的敌人们就会后悔对你的轻视的。
如果你想让你的敌人们喜欢上代码,你不应该做的事情:
将你的代码风格自动化,使其能够自动处理;
只有比现有版本更好的方案时,才会安排变更请求;
快速相应拉去请求,并每天安排时间进行代码评审;
当请求变更时,确保所有的变更都进行了测试;
但你使用了新的编码风格后,安排单独的请求;
为代码评审创建小而频繁的拉去请求;
回应所有的反馈,要么同意,要么陈述你不同意的原因。
边栏推荐
- Look at the steam education mode integrating mathematics teaching
- GD32F470之串口空闲中断+DMA篇
- How to connect Youxuan database on this computer
- A Mobile Telematics Pattern Recognition Framework for Driving Behavior Extraction
- 接手RN项目遇到的问题及解决 自用
- ECCV 2022 | fix the performance damage of large targets caused by FPN: you should look at all objects
- How to solve the problem of win10? The app store cannot be opened, and the error code is 0x80131500
- Mysql database column splicing query writing method
- 微信支付项目实战、创建订单到支付退款代码详解
- 【Unity】 UI跟随3D物体,世界坐标转UI坐标
猜你喜欢
Sequence traversal BFS (breadth first)
Switch and router technology: static NAT, dynamic NAT, pat and port mirroring
string的模拟实现
层序遍历BFS(广度优先)
UE4 设置夜晚(根据DirectionalLight方向更新SkySphere)
How to configure webrtc protocol for low latency playback on easycvr platform v2.5.0 and above?
GD32F470之串口空闲中断+DMA篇
Simulation Implementation of string
[JS] scope and scope chain
Look at the steam education mode integrating mathematics teaching
随机推荐
How can the easycvr platform access special devices without authentication?
IBM的免费机器怎么装宝塔
UE4 设置夜晚(根据DirectionalLight方向更新SkySphere)
CF464E The Classic Problem
Inventory of e-mail security incidents in China in the first half of 2022
Tiktok tiktok get Tiktok video details interface
Look at the steam education mode integrating mathematics teaching
AT4162 [ARC099C] Independence
Left ear mouse: developers in the cloud native era should have these five capabilities
I, AI doctoral student, online crowdfunding research topic
The competition of trillion market value public chain is white hot. Is there still a chance for the new public chain?
模型压缩、加速及移动端部署
A Mobile Telematics Pattern Recognition Framework for Driving Behavior Extraction
Leetcode daily question 814. Binary tree pruning
Win10 如何解决,应用商店打不开,错误代码0x80131500问题
如何在本机连接优炫数据库
把握机器人教育朝AI智能化发展的趋势
ERROR: Could not build wheels for pycocotools which use PEP 517 and cannot be installed directly
Analyzing the upsurge of participating in robot education competition
Popular science | how to create a Dao?