吐槽 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 条回复
Hoshinokozo
2020-12-17 15:37:19 +08:00
@fengmumu 再🐮×的代码和设计模式也经不起产品乱提需求,我不是说超过一千行就硬要拆,能不能拆还是要结合业务本身的,你自己写的代码你自己当然要有一个预期,能不能拆,业务之后会不会变动,分拆之后代码的复杂度是增加了还是减少了,这都需要有一个大致的预期,当然超出预期的就管不了了。
charlie21
2020-12-17 15:37:59 +08:00
吐槽代码质量可以

把代码质量和收入 20 万联系起来就不对了。影响收入的因素有很多嘛

若强行联系,只能体现你自己最廉价的骄傲
iFollow
2020-12-17 15:38:47 +08:00
布尔值取反用 if else 也有可能是为了方便调试时插入 log ……
charlie21
2020-12-17 15:44:57 +08:00
还是学习一个 对互联网来说,重构是政治斗争和大清洗的重要手段,尤其面向业务编程的公司和码农。
https://www.zhihu.com/question/434704940/answer/1630300574
dynastysea
2020-12-17 15:45:25 +08:00
@wennew 20 多万很多么。。。有什么好酸的。。五年拿 20 多万我真瞧不起。现在一线互联网公司应届本科生都比这高,当然也写不出这种屎一样的代码。另外不知道你说的高薪是多高?反正写代码拿高薪的我见过太多
Desiree
2020-12-17 15:46:11 +08:00
楼主有点像那种刚毕业的学生,满腔热血说要改变什么什么,但是看到一些不好的现状就各种埋怨,都不知道自己跟真正的技术大牛差几个维度,你既然愿意去这种传统行业的公司,而不去技术氛围好一点的地方,你就没必要这样子吐槽,先想想自己技术是不是有能力这样子吐槽别人,而且拿工资多少评判技术能力本身就很不客观,别人拿多少工资又不是服务你的,老板发工资,啥都没说,你在这 BB,说别人代码垃圾,你想想,如果你的同事也这样吐槽你,你会是什么感受,有能力谈重构,你先去大厂看看什么叫山外有山,而不是在网上嗮优越感
darknoll
2020-12-17 15:49:56 +08:00
楼主,建议你抓紧时间干,重构代码,重构完之后的代码叫老的为难,再慢慢卷走那个老的。
说实话,我也觉得公司有些老油条仗着自己业务熟,不学甚至抵触新技术,非常反感这种。
eric96
2020-12-17 15:51:25 +08:00
应届都写不出这种 shit code
wellsc
2020-12-17 15:51:42 +08:00
你写过 golang 吗
interim
2020-12-17 15:53:07 +08:00
@charlie21 今天也看到了这个问题,打开了新世界....
AndyAO
2020-12-17 15:55:01 +08:00
看了之后感觉特别痛心,这是一个很努力的人,但是我认为他缺乏一些正确的学习方法.

不过这就是这个行业的现状,有大量的人是靠自己摸索试错进步的,所以他们对这个行业的进步几乎没有感觉.

如果楼主对此感到有兴趣,可以去看看<软件困局>这本书.

如果他愿意听我说几句,那么我推荐他多看一些软件方法学和软件工程的书籍,多去读一读别人的代码,尤其是那些好的代码.
liuhuihao
2020-12-17 15:55:21 +08:00
我只想说,所有说"代码烂就烂了,能用就行"的都是垃圾,不配当一个程序员。
挣多少钱放一边不说,做事一点的责任心都没有。
oamu
2020-12-17 15:56:25 +08:00
话说我还见过一个页面全是 div,中间变量命名都是 data1 、data2 、data3……这样的代码
zhw2590582
2020-12-17 16:03:00 +08:00
假如我是楼主,估计真得哭出来了,太痛苦了
charlie21
2020-12-17 16:07:27 +08:00
多学技术 少吹逼 更少自夸(省得被人当枪使)多看人事 没啥新鲜的
很多事情人们都讳莫如深,基本原理是 当“资源”短缺的时候会发生什么

就公司而言,是吧,哈哈,没啥新鲜的,人都离职了 你能怎样么

就这个帖子里你遇见的 shit code 而言,你的注意力资源不应该被 shit code 占用,所以最好不要重构它

这里有一个讨论 如何对待能运行但写得很难看的旧代码 https://www.reddit.com/r/PHP/comments/esb9u3/do_you_agree_with_dont_touch_the_fucking_working

注意当你做一些并不为企业增加效益的事时,论坛里的人会教你以 ‘干净代码值得骄傲’ 的理由自夸,可你如何对企业里的人解释,想想他们的反应会是什么。 —— 是这些人决定你拿多少钱,不是论坛里的网友。不要被人当枪使 没用
lrh3321
2020-12-17 16:08:15 +08:00
提高了他的不可替代性
yangchaomin
2020-12-17 16:10:02 +08:00
我觉得 JQuery 挺好用的呀
suyuyu
2020-12-17 16:14:35 +08:00
小心你同事也在论坛,哈哈
lcy630409
2020-12-17 16:19:35 +08:00
加油!我最喜欢这种进公司 啥都不管,看代码就要重构的人了
恩 最好再加 2-3 个前端,再加 3 个测试
然后 咦 这界面是不是丑了?再来个 ui 吧

做到最后 你想死的心都有的
MrKz96
2020-12-17 16:21:19 +08:00
咋这么多 ifelse???

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

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

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

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

© 2021 V2EX