惊讶!连字节这样的宇宙厂都不怎么做 CodeReview 和单测?

2022-08-26 09:17:20 +08:00
 wxiao333
https://urluu.com/i/2022/08/26/63081ecc1f3a3.png


来源: <amp-youtube data-videoid="nnzDq2OGSUM" layout="responsive" width="480" height="270"></amp-youtube> 8 分 15 秒
12710 次点击
所在节点    程序员
97 条回复
zhuangzhuang1988
2022-08-26 10:05:45 +08:00
不是基础设施 单元测试我也不想写。
cydysm
2022-08-26 10:11:39 +08:00
单元测试浪费生命(错误
loverg
2022-08-26 10:12:53 +08:00
也不是全部吧,我问了几个那边的朋友,说 cr 和单测已经逐步重视起来了,一些海外团队已经实行基于单测的代码合入检测了
ufan0
2022-08-26 10:19:02 +08:00
告诉你一个“秘密”,很多人都不会写单测,会写的也是毫无效果甚至错误的~
chendy
2022-08-26 10:19:35 +08:00
核心业务,基础设施,做
活不过几个月的小功能,做了干啥呢
dilu
2022-08-26 10:20:11 +08:00
阿节这里注重快速迭代,着重一个快速,一个产品出来,你可能就一两个月的时间去验证结果,做 ab 实验什么的

如果你按部就班,把需求提给外部,自己再慢慢悠悠的写单测 那你的业务早就凉了,2 年都没什么业务结果

而且不仅仅是没有单测,关键是到处都是缝合逻辑和 hack 逻辑
matrix1010
2022-08-26 10:20:45 +08:00
我很好奇美国的独角兽公司开发写不写测试,至少看以前 twitch 泄露的代码测试还挺多。也许开发不写测试也属于中国特色
ruiyinjinqu
2022-08-26 10:21:00 +08:00
我们公司刚要求新增代码单元测试 100%,工作量瞬间增加 40%,为了满足单元测试去改业务代码,为了单元测试而单元测试,无语了
wxiao333
2022-08-26 10:21:19 +08:00
单元测试不写,根本没法 CI 啊,流程是这样的:

DEV 要做开发,就要先领故事卡,俗称开卡,自己选好一张故事卡,拉上 BA 和 QA 去过其中的细节,理清细节,然后才能上手开发,开发完后再拉上 BA 和 QA 去结卡,检查卡中的功能是不是都完成了,有问题就被打回去改,直到 BA 和 QA 觉得完善了,才能关卡。。。

代码质量要求很严格,遵循 TDD ,前端有 lint ,有单元测试(不能偷懒,而且有覆盖率要求),有 e2e 测试(必须写,和 QA 一起看),当你的代码走过这三个流程,提交到公共仓库,CI 自动构建会拉你的代码,再走一遍测试(挂了就要修代码),然后自动发布新版本到 Dev 环境。

你以为这就完了?还有代码嗅探器,时刻在扫描代码仓库,有两个重复的函数不行、重复率太高不行、使用了骚代码去做类型转换之类的不行、空间内有命名重叠不行。。。。这一套下来,再加上 code review ,菜鸟开发每天一半的时间都在改昨天的代码。

项目还有规定,CI 不能红过夜,当天的问题当天要修好。。。。
提交的时候,本地 git hook 会自动跑 lint 和测试,过了之后代码就进远程仓库了,远程仓库会触发 CI ,CI 会自动把本次提交后的代码拉给自己,跑测试、构建、代码质量分析。

所以只要本地测试能过,提交上去后 CI 会自己跑,这个时候开发一边写后面的代码,一边可以观察上一次提交的情况,上一次挂了就排查。
大家都是写一会儿,顺便看下 CI
james2013
2022-08-26 10:33:01 +08:00
可以理解
当你正规按照 Review 和单测时,3 个月完成 1 次大版本,1 个月完成 1 次小版本
不用 Review 和单测,1 个月就完成 1 次大版本,10 天完成 1 次小版本
而且当技术人员水平高时,区别不大
Daniel17
2022-08-26 10:35:29 +08:00
写测试太费时间了
lanlanye
2022-08-26 10:37:37 +08:00
我记得之前看人提过他们在海外的情况,重 QA 轻单测,简单来说就是人肉测试
kaedea
2022-08-26 10:41:35 +08:00
国内因为绩效导向,单元测试和代码审查已经变成开发纯自嗨的模式了。不知道国际大厂怎么搞,但是国内现在是用平价,可稳定运营的人工集成测试和后期 QA 监管来代替这些开发阶段的工作。
yannxia
2022-08-26 10:43:35 +08:00
分团队,我们火山引擎这边,新人的第一次 MR ,大概要卡上半个月。。。
forgottencoast
2022-08-26 10:51:28 +08:00
上面评论的基本上都没看完视频吧。。。。
kera0a
2022-08-26 10:54:07 +08:00
我在某支付公司,直接线上服务器改 C 代码,然后 make 上线,唯一做的防范是备份了一下 bin
每次(是的,多次)改我都感觉要去坐牢了
mango111
2022-08-26 10:58:01 +08:00
怕啥,维护某亿级流量首页,不也是代码单测和 code review 一个都没有。
不慌,挂了也就一个上热搜加大家吃不上饭,讲究的就是胆大心细。
hronro
2022-08-26 11:10:51 +08:00
@wxiao333 #29 要求这么严格?是国内的公司吗?
andyL
2022-08-26 11:11:20 +08:00
希望多一些这种讨论😂
maotao456
2022-08-26 11:17:52 +08:00
我在港企,每个功能必须写单测,而且一定有人 review 。
别提多舒服了。

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

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

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

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

© 2021 V2EX