吐槽 5 年经验年薪 20W+前端同事写的屎山代码

2020-12-16 20:36:30 +08:00
 BruceLe

鄙人前端一枚,几个月前入职了一家传统行业公司,技术栈都比较陈旧,前端开发还是 jquery 手写 dom 的开发方式,我进来之后写的新项目都是使用 vue 写的,但不维护以前的代码。现在有个同事要离职了,就把他以前写的老项目都交给我维护了,我打开一看被这代码秀的一愣一楞的,细细看了之后头皮发麻,手写 dom 拼接 html,大量行内样式夹杂其中:

这位同事年薪 20W+,5 年经验,之前写的都是这种代码,没用过 vue 之类的新技术,nodejs 和 npm 环境还是我帮他装的,我进来之后也教了他一些 vue 的东西,后面在他在新写的 vue 项目中也负责了一些功能,我后来 build 项目的时候报了一个警告,说是有个文件超过了 500Kb,我打开他提交的文件一看,乖乖,一个 vue 文件他洋洋洒洒的写了一万多行,体积达到了 600 多 Kb,细看之后,我又被他的骚代码秀到了:

写的什么玩意?这是对一个布尔值取反的操作,这老哥先判断值是真的还算假的,如果为真则改为假,如果为假则改为真。我寻思这不是 a=!a 一行代码就能搞定的事吗? 后面又随便翻了下,类似的代码出现了好多次。

这同事的 5 年经验是实打实的 5 年经验,一年经验用 5 年的那种,他的技术你要说他烂我还有点想反驳,前面两张图那种代码你们猜他是用什么编辑器写的?你们绝对想不到,他是用 nodepad++写的,没有代码高亮,没有错误提示的 nodepadd++,用 nodepad++能写出这样的代码,我只能称之为神人。

后面又随便翻了下,又翻出来类似这样的,嗯,这其实是一行代码:

接手这样的代码是真的难受,今夜之后,这世界上又多了一个伤心的人。

27905 次点击
所在节点    程序员
290 条回复
tikazyq
2020-12-17 16:25:06 +08:00
可能是用脚手架工具编译过后生成的
fengmumu
2020-12-17 16:25:09 +08:00
@Hoshinokozo 所以有时候看到有人一说代码行数多就说是屎山 我就。。。
BruceLe
2020-12-17 16:29:26 +08:00
@mrkirkzheng #200 我也懵逼啊,刚才闲着搜了下,那个一万多行的文件里出现了 1500 多个 if
a4854857
2020-12-17 16:32:56 +08:00
很厉害.写出了只有他一个人能维护的代码
zypy333
2020-12-17 16:33:10 +08:00
我也接手过屎山,06 年开始写的项目,但是我没重构,感觉如果是局部小范围,还能重构,但是有些屎山,是一开始的架构有问题,重构不如推翻重写
crazytudou
2020-12-17 16:33:13 +08:00
人生百态
aloyuu
2020-12-17 16:37:00 +08:00
虽然我离职了,但是你也不用这么在背后用屎山形容我的代码,20 万年薪怎么了,老板觉得我值这个身价
sanqian
2020-12-17 16:38:05 +08:00
只要代码不是自己维护 谁关心他怎么写 哈哈哈
SomeoneElseChild
2020-12-17 16:40:27 +08:00
@muzuiget 赞同.这玩意不就是在屎山上继续拉屎就可以了么?
zhengjieliu1
2020-12-17 16:41:22 +08:00
高手。
susan0007
2020-12-17 16:42:00 +08:00
这种情况很难理解吗?你都说了传统行业,那就是非互联网行业。有可能人家刚毕业就去了这家公司,有没有人带,没人交流,五年之后和行业脱节了而已,跳出去就好了。
yaphets666
2020-12-17 16:43:58 +08:00
重构这些代码没意义 都是业务
niguyi
2020-12-17 16:48:32 +08:00
我寻思码农这个职业 也没有高尚过啊。。。。和快递外卖销售都是一样一种工作而已
justjy
2020-12-17 16:49:13 +08:00
同情一下楼主,但不建议重构。

重构能产生了什么额外商业价值?无非是自己觉得「代码可读可维护」了,后面接手代码的人如果水平不如楼主,又会进入恶性循环。
hevi
2020-12-17 16:50:37 +08:00
我当年也接触过这样的代码( jsp ),让我接手的话,只有两条路。
1. 重构(前后分离,我只写前,后怎么屎我都不理)
2. 我跑路
sarices
2020-12-17 16:55:10 +08:00
@wwk 同意你的观点
IsaacYoung
2020-12-17 16:56:46 +08:00
哎 屎山拉屎呗
nicebird
2020-12-17 16:57:29 +08:00
牛逼
freeminder
2020-12-17 16:59:49 +08:00
@weifan 这么一看堆的屎山是志在栽棵大树呢
l00t
2020-12-17 17:02:10 +08:00
@BruceLe #118 老板给他钱又不是因为他代码写得怎么样,是因为他的代码能实现功能,满足业务要求。代码写得再屎,那也是维护者的事,老板需要自己看吗?

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

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

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

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

© 2021 V2EX