吐槽 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++能写出这样的代码,我只能称之为神人。

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

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

28020 次点击
所在节点    程序员
290 条回复
wangritian
2020-12-18 02:09:35 +08:00
var that = this;
想起抖 Y 一个段子,蓝骑士送达外卖后指着屏幕对开发小哥说,这里加个 that,让它等于 this,然后下面就有权限访问了
该不会。。。[doge]
demoslam
2020-12-18 02:32:11 +08:00
notepad++也有语法高亮 也能装插件啊
BruceLe
2020-12-18 08:40:22 +08:00
@weakish #278
@demoslam #282 不是黑 nodepad++,有次他让我帮他调 bug,我看到他用的就是白底黑字的那种
zhangjiafan
2020-12-18 15:39:45 +08:00
别的不知道,但是这种代码,应该是有工具代码生成器自动生成,我自己的屎山就是很多自动生成的代码,或者直接复制粘贴,没有考虑过复用的代码。业务逻辑一天天的在催,前一秒的功能,下一秒问你改好了没有。我没有那么多时间去考虑复用,也不会去研究内存消耗,更不会去关心代码行数,百度一下复制粘贴。能 ifelse 复制下来的,绝不会考虑与或 且的逻辑符号。每次想去重构,但是几个项目就一个人维护,重构意味着不仅新需求被催着写,还得学习新技术来重构。vue2.0 写习惯了,来了个新人用 vue3,0 的,结果来嘲笑你写的 vue2.0 代码量太多, 其实没多大必要。曾经我也是那个意气风发的严谨高技术水平的程序员。现在我只是能实现业务的搬砖工。现实会把理想吊打的服服帖帖的。看完你的帖子有感而发。
fishenal
2020-12-18 17:27:39 +08:00
感觉是系统生成的,他是不是用了什么黑科技,手写一万行代码基本不可能,还是用 notepad++
ncepuzs
2020-12-19 08:12:18 +08:00
什么叫无可取代啊,这就叫(战术后仰
weakish
2020-12-20 16:10:26 +08:00
@rbq123456 许多公司的奖金很大程度上是和业务挂钩的,项目大火和项目黄了拿到的奖金天上地下。去哪个组某种程度上也可以看成是内部的应聘或者跳槽,考验判断力和运气(就像代码质量相当的人在不同公司的薪资可能差异很大一样)。
weakish
2020-12-20 16:13:15 +08:00
@BruceLe 那真是神人了……(神人说:(设计台词)我是不会用语法高亮的,用惯了语法高亮,万一将来要换单色墨水屏怎么办)
leekafai
2020-12-21 15:24:29 +08:00
哇原来真的是人均 20w 起步,我看到有评论说 20w 年薪校招起步了,惊了
PoetAndPoem
2021-01-27 10:03:20 +08:00
@zzm88104 DOM 吗

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

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

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

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

© 2021 V2EX