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

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

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

27901 次点击
所在节点    程序员
290 条回复
Nicoco
2020-12-17 13:07:15 +08:00
快跑
wangbudong
2020-12-17 13:16:40 +08:00
又不是不能用
zhang77555
2020-12-17 13:32:16 +08:00
为啥好多程序员还是没理解, 代码写得好这件事本身并没有价值啊
有价值的始终是业务,一个更懂业务写出来的代码刚好够用的程序员 和 一个代码写的很好但是其他事情都不关心的程序员 对于公司来说,哪个价值更大?
吐槽代码写的烂完全赞同, 但是和薪资挂钩 duck 不必
bbao
2020-12-17 13:35:56 +08:00
有 ssh 刚出来嘲讽 jsp servlet,数据库用 jdbc 那味儿来
angith
2020-12-17 13:40:19 +08:00
能写 1w+ 行也是可以
huiliyi
2020-12-17 13:43:02 +08:00
取反不会写挺离谱的
PEAL
2020-12-17 13:44:16 +08:00
这刚好实现了 [在职场中让自己变得不可替代] 这一条
amdhcwte
2020-12-17 13:45:17 +08:00
程序员不是都这样啊?!
parthenon2007
2020-12-17 13:46:54 +08:00
@zhang77555 不同意。

> 有价值的始终是业务,一个更懂业务写出来的代码刚好够用的程序员 和 一个代码写的很好但是其他事情都不关心的程序员 对于公司来说,哪个价值更大?

为什么代码写得很好得程序员就不能更懂业务?懂业务跟把代码写好其实不冲突。

每个人都要有“尽量给别人添麻烦”的觉悟,应该尽自己最大的可能将代码写好。你想象一下,你的一个同事离职了,公司让你接手他写得跟屎一样的代码,到时你是什么感受?万一碰到紧急的 Bug,你整个人都要爆炸了!

代码写得烂其实没什么,几乎所有人都是从那个时候过来的。但代码质量多年都没有长进,还心安理得,就说不过去了。
dynastysea
2020-12-17 13:50:38 +08:00
就这种人 v2 还有一堆人为他辩护,可见码农这个行业已经堕落到何种程度了
ldlood
2020-12-17 13:53:01 +08:00
真的很鄙视这种网上贴别人代码,然后一顿批评的操作
有什么不满就现实中提出了,但是你又没用那个勇气,除了给自己在网上找点认同感,还有啥?
别老盯着别人代码看,别人工资拿的比你高,看下别人其他方面
沟通能力 /为人处世能力 /领导能力.....
Hoshinokozo
2020-12-17 13:53:39 +08:00
确实挺恶心的,以我的经验一个 vue 文件代码超过一千行维护起来就比较困难了,找个问题要上下来回翻,所以我自己的项目代码要是超过了一千行我肯定是会考虑拆分成不同的组件的,vue3 的 composition API 也是着重改善了这点,我现在有点理解那些反对 vue3 的都是些什么人了。
stillsilly
2020-12-17 13:55:55 +08:00
hhhhhhh 我在喝奶茶 差一点笑喷了
stillsilly
2020-12-17 13:57:43 +08:00
@teawithlife
属性多的时候要换行,一行一个属性
rykinia
2020-12-17 13:58:13 +08:00
楼主,可以问问在哪个城市吗,我觉得我比你同事强,想看看能不能去那边发展
zhang77555
2020-12-17 13:59:14 +08:00
@parthenon2007 我没有说这两件事是冲突的
我想表达的意思是 "薪资"不考虑外在因素的情况下直接挂钩的东西是"你的价值", "写代码的能力"只是"你的价值"的一部分,而且占比不一定很高
xizon
2020-12-17 14:01:19 +08:00
楼主应该工作年限不到 5 年,才会那么”不爽“。都是打工的,满足老板的需求,你就是最棒的,不管用什么写法。大厂有大厂的要求,小公司有小公司的要求,最终都是生意人,你不爽可以提涨工资或者换一家,没人会阻拦的。职场抱怨没有用,老板不看你脸色,他要完成他的业务,而不是盯着看你怎么写代码。自己自由职业,打工创业都搞过,明明只是做界面 UI 的,面试也从来没有面试过所谓的前端或者后端开发,因为”需求“,进几个公司后死活从 UI 变成暂时不搞 UI,前端后端啥都搞,工作还算开心,因为觉得有意思才自学自弄。至于钱,几千一两万一个月也拿过,要说技术,我没有认真学过底层,就是有啥需求学啥用啥,我觉得编程这件事,我真的很屎。但是我不羡慕嫉妒别人编程有多厉害或者拿多少薪资,因为我真 TMD 就是一个编程爱好变成了老板的需求~ 有空做 UI,没空做前后端。仅此而已,我开心~~ 重要的是老板赚钱了也开心!
leemove
2020-12-17 14:01:27 +08:00
有那个味了 哈哈哈哈哈哈
fengmumu
2020-12-17 14:05:29 +08:00
@Hoshinokozo 因为行数做拆分不合理吧,拆分了也需要打开多个页面来回看啊,而且还需要各种传值。。。 另外拆分的依据不是根据功能点来做的吗
stdout
2020-12-17 14:07:01 +08:00
哈哈,等你还工作几年,你的心态估计一样。快速出活才行。

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

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

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

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

© 2021 V2EX