我发现 我公司的 review code 这个目的已经变质了。

2020-11-14 17:52:29 +08:00
 kpppp

我呆过几家公司,都是千人以上的规模。但是 review code 给我的统一感觉就是 [官僚] 。

明显的语法错误项目组 leader 也看不出来,只是看一眼,这些有+2 权限的人,大多数都没有做过你的项目,只是级别高。在入库这一关,卡死你,每次都要发消息,告知对方,请帮我 review !

比如我们最近的一个政策: 领导说:为了提高我们代码质量,所以我们要一起 review 。就是让写 c 或 c++的人和写 java 或 kotlin 的人互相 review code 。
实行了 2 天了,普通工程师说的最多的几句话:
1.看不懂,不知道你写的啥。
2.效率好低啊,没啥鸟用。

高级与专家工程师说的最多的几句话:
1.你这个代码有点冗余啊
2.这个没有问题吧
3.ok ,我马上+1

首席与经理说的话:
1.ok
2.已经+2

于是我直接把整个项目组的人都加入了 review,然后引起了 leader 的不满,说我太自我了.于是我又一个一个的 remove reviewer 。

哎,难啊。

11054 次点击
所在节点    程序员
54 条回复
MrGba2z
2020-11-15 13:35:03 +08:00
@DamienS 不是 这里只是用作 Code Review 的简写.
loveyou1
2020-11-15 13:41:16 +08:00
review 毛线,prettier + 各种语言 lint + 编辑器插件,把最基本的东西定死,就是最好的办法,一大堆人没搞这个业务的来 review 这个代码,逻辑不都不清楚,还 review,开源的项目 review 也多数是通过跑自动化脚本 review 的,一般都不会去看的,每个人思路不一样,处理方式也不一样,如果水平差别大一些,可以改一下东西,如果水平差不多,人工 review 有毛线用,还不如分享分享实现思路。
firefox12
2020-11-15 13:59:02 +08:00
cr 的关键是业务太快,没时间搞,一个需求可能没上线就已经改了。

真正好的是 java c++ 用什么版本的工具帮你做 cr 前的校验, 那些规则,这些更有落地的必要。
yuekcc
2020-11-15 17:30:17 +08:00
@loveyou1 赞同。

分享思路比较看具体代码实用得多。crud 业务场景,逐行看代码确实是浪费所有人的时间,而且代码写得不好,很大可能就是思路没有转过来。

一般代码问题,应该通过工具解决。
crclz
2020-11-15 19:44:03 +08:00
这里有一篇文章,里面包含了 Thoughtworks 公司做 code review 的部分流程。
https://insights.thoughtworks.cn/code-review/

我摘抄一段:

主持人说:“我们知道,如果代码编写得好,那么不是作者的人就能在没有作者帮助的情况下读懂。我希望一位不是这段代码作者的志愿者,来为大家解释一下这段代码是做什么的。”一位非作者的志愿者上来逐行解释代码,并回答大家的疑问。
主持人等代码解释完后,问大家:“这段代码大家还有看不懂的地方吗?”如果有问题,包括作者在内的参会者都可以回答问题,但大家都不提谁是作者。
大家都看懂代码后,主持人问:“大家说说这段代码有没有好的编写模式咱们可以继续发扬?……


楼主说看不懂代码,那肯定是出了严重的问题(在编写代码的阶段)。
asanelder
2020-11-15 20:06:08 +08:00
@fewok #6 同意,俺认为 review 不是 review 设计相关,设计,规范之类的应该之前就做好了,review 只是看 check in 的代码是否符合系统的设计和规范,防止坏味道的东西进来。

关键问题是,很多项目设计和规范都没来的及制定,就开始写代码了,然后为了 review 而 review,简直是自期期人罢了。

还有,现在的产品和项目经理还是要懂开发的流程的,不是只写业务代码才算是有产出,那些为此支撑的东西,也是要认真考虑,加入到进度时间开发中的。但俺观察的现象是,似乎他们只认为只要开发业务代码就行了,预估时间中根本没有为其它相关的留出时间。

你说你搞了 CI/CD, 搞了设计,自动化了一些流程,制定开发分支规范等等和业务不直接相关的事,在他们看来。

“就是没任何产出”
BIAOXYZ
2020-11-15 22:46:50 +08:00
@impl #13 哈哈,过于真实!引起舒适。。。
Zchary
2020-11-16 00:40:56 +08:00
我没猜错的话,你说的应该是菊厂。
lbyo
2020-11-16 01:26:15 +08:00
@impl #13 LGTM
hhhhhh
ruzztok
2020-11-16 09:53:37 +08:00
我公司代码异常处理非常差。。生产环境日志文件每秒都在打印错误信息😂
qinyusen
2020-11-16 10:24:08 +08:00
https://www.v2ex.com/t/719560#reply24

11 楼,和 23 楼, 虽然题目是提高自己,但是实际上,code review 的时候,附上设计文档的内部 wiki 链接之类的。。。是一个很友好的做法, 很容易让大佬挑刺。
最后看看设计文档没问题, 实现大约 1:1 就可以过了。
kuro1
2020-11-16 11:17:30 +08:00
LGTM
ytmsdy
2020-11-16 14:24:53 +08:00
@impl 哈哈哈哈,fix_shit...
ksssdh123
2020-11-16 16:46:23 +08:00
哥们,你说得太棒了~
但现在往往最可怕的是什么你知道吗?方法论大家都知道,但往往现实就是陷入死循环,一边喊着要快速上线,一边又要抓评审、抓文档,老工程师又不愿带萌新,然后很多流程都是敷衍了事,除了编码工作,但这种环境下,这种产物也就够演示....
跟楼主所说的一样,流程变成形式,很多都是走马观花

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/725245

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX