【V2EX今日新鲜事】吐槽 5 年经验年薪 20W+前端同事写的屎山代码

最近大家有没有看《追光吧哥哥》这个综艺,听名字你可能以为是帅气的小哥哥,其实是油腻的中年大叔。综艺中的艺人郑爽总是能精准的说出各位哥哥(大叔)们的槽点。你被动图里的wink油到了吗?反正V妹的眼睛是辣到了。
看看V2EX里一位V友为何吐槽 5 年经验年薪 20W+前端同事写的屎山代码,是什么让文明的V友说出爆出屎这种粗俗的词汇。      
鄙人前端一枚,几个月前入职了一家传统行业公司,技术栈都比较陈旧,前端开发还是 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++能写出这样的代码,我只能称之为神人。
后面又随便翻了下,又翻出来类似这样的,嗯,这其实是一行代码:
接手这样的代码是真的难受,今夜之后,这世界上又多了一个伤心的人。
看看评论里V友们真实的想法
前面同意,后面不是很同意,算是每个人不同的看法吧,比如一个长表单拆分成多个子表单,当时的业务是表单之间相互不关联,每个子表单自治,然后后面某几个之间有依赖关系,这时候改起来就很难受了,甚至要重写就算不重写 也是各种传递和引用,还不如一直写在一起呢,
小声逼逼:不认为拆分成多个小文件是很好的事情,如果是做一个抽象的功能,把功能点拆分,然后引用比较合理,如果和业务挂钩,早早拆分,不但不利于后面人的维护也不是利于后面功能扩展(你只能给你预见到的功能留口子,但是你架不住产品提骚需求啊)。所以我总觉得和业务相关的少做优化,拆分的话尽可能的少,一切以后面人可以方便理解维护为主,代码的优雅处于第二位
没有代码高亮 没有错误提示
一样可以写代码 而且我见过的就挺多这样的
当然他们多数都是很早期的程序员了工作的代码很难不变成屎山

你让 1 年同样技术水平的新手绝对做不完这个需求的,1w 行的单文件代码 1 年经验的绝对 hold 不住的
5 年是实打实的 5 年,只不过是用 0 编程思想歪技术路线不适合的开发工具也能顺利的把需求实现的实打实 5 年经验
这确实写的很烂啊 反正我是不能接受
像这种又没什么特别的逻辑
还滥用$forceUpdate 也很奇葩了吧
除了 angularjs 的时候被迫经常使用强制刷新
vue/react/angular2 以后没用过
又来一个吐槽的
嘿 类似经历!!!!趁机吐槽一下!!!!!!我的新领导,前端负责人。刚从鹅厂出来的 30 多岁老程序员了,年薪肯定不用说, 但是写的代码真的是得说一说了!!

以前没写过 vue react ts 这类不能说是新东西的框架和规范, 罗列以下几点:

– 用的 sublime,不装 eslint tslint prettier 等代码规范工具 每次我们拉代码下来 都是一堆黄色警告,之前在我们的委婉要求下装了 eslint, 说是项目里全是报错,又给卸了。。。
– 不会 ts,一个 any 一把梭!!!
– 代码里要设置 key 作为标识总是用中文作为 key 值,比如 user.type = “管理员” 。
– 想要把某块功能的右键菜单封装一下,结果一个方法写了 1000+行(配置的数据类型全是 any,配置的数据格式还不一样。。)
– git 只会用 sourcetree, 曾多次在主仓库覆盖我们的代码。
– git commit message 不规范 ,经常写”no message”,甚至还写过”what the fuck“。。
– git 打 tag 用的是中文。

其实首先得确定这是他写的。一个项目长期迭代,维护者可能更换过很多任。另外就老代码而言,能跑是最重要的。重构需要的成本很高,除了本身开发的成本,时间成本(延误正常迭代),需要测试支持(全方面的回归测试),业务成本(大规模重构可能影响正常业务)。接手过单文件 1w 行的组件…表示根本不敢大刀阔斧的重构,只夹在敢趁着正常版本迭代,有测试支持的情况下,进行部分重构,除了自己得反复验证,还得求着测试大哥顺便多测测某个功能点。到离职都没重构完。。。交接的估计也得吐槽我,哈哈~

楼主反被怼
楼主有点像那种刚毕业的学生,满腔热血说要改变什么什么,但是看到一些不好的现状就各种埋怨,都不知道自己跟真正的技术大牛差几个维度,你既然愿意去这种传统行业的公司,而不去技术氛围好一点的地方,你就没必要这样子吐槽,先想想自己技术是不是有能力这样子吐槽别人,而且拿工资多少评判技术能力本身就很不客观,别人拿多少工资又不是服务你的,老板发工资,啥都没说,你在这 BB,说别人代码垃圾,你想想,如果你的同事也这样吐槽你,你会是什么感受,有能力谈重构,你先去大厂看看什么叫山外有山,而不是在网上嗮优越感
不知道大家对这件事情怎么看,程序员编码本来就是一件很困难的事。每个人都有自己的代码习惯,还能怎么办,不是他改就是你改。
 
不说工作,来谈生活。大家在家是谁来掌管财产大权,V妹家反正是妈妈管钱,毕竟是老夫老妻,爸爸的小老虎,哈哈哈。那新婚燕尔的小两口存的钱,应该放在哪里呢?
这确实是个问题哈,刚结婚的小两口想要积累财富是对的,至少要有一个人对钱保持清醒,不能花钱大手大脚。但是花钱又对小两口的感情来说是个敏感话题,那就看看万能的V友能不能给出好建议。
其实只控制支出就好了。
而支出你们可以用同一张信用卡,一张主卡一张副卡。这样就能做到支出透明。
然后收入全部存到一个账户里。统一拿出来还款。这样能尽量减少引入第三方产品(保障隐私和财产安全),也可以实现你节流的目的。

btw,存钱只靠节流,效果其实极其有限。
只要双方消费的需求都是合情合理的,自然就能做到稳定储蓄。双方分的太清楚,很容易出现重复消费的情况(你买你的,我买我的),也容易出现分歧。
比如家里要买个公用的商品,算谁的预算?吹风机我要松下你要飞利浦,那是不是两个人一起买一台戴森更省钱,体验也更好呢?

所以还是要互相沟通,发挥可支配收入的最大购买力。

管不好钱的就别让管就对了,连算账都迷糊的人你让她管个什么账?我老婆怀了小孩之后就一直没上班,有五年多一直在家专职带孩子(两个),期间我每月固定给生活费零花钱,信用卡副卡给她刷,可能也是闲的无聊或者也想帮我分担一些压力吧,然后背着我搞微商,偷偷办了 POS 机偷偷申请了好几张信用卡总额度 10 多万,直接被她刷爆了全套现出来交费做什么微商的狗屁全球合伙人了,然后就大家都懂的一堆不值钱的玩意卖不出去,最后有天晚上她洗澡的时候我听到手机响发现银行短信欠款几万,再一翻这家几万那家几万,一查额度刷爆完了根本没的可能再拆东墙补西墙了。然后一通吵架后乖乖出去找工作上班了,当时手里也没多少钱只好找家里借了先给这窟窿补上了。唉!!!
上建个协作的表格,两个人把收入和支出都记录一下。月度年度做下汇总,看看哪块儿支出多,账上的钱和实际账户余额对不对的上。至于钱放哪边,我倾向于是谁更会管钱就交给谁。我家是放我媳妇那儿,让她买买基金啊理财产品啥的,不看收益多少,只求钱不莫名其妙的消失。
我和我媳妇已经这么实践了三年了。弊端大约是,媳妇会通过账单发现我偷偷喝奶茶不带她😂
我们是工资到的时候就把要存的部分买个理财,当作没有这部分钱,这样每个月能保证有存钱然后剩下的部分,每个人分一笔零花钱,用于自己的开销,或者给对方买礼物之类的

再剩下的就是用于买菜、下馆子、固定开销等家庭开支,由一个人来管理,多的部分合并到下个月

我们每一笔消费都会记账,一开始会忘记,慢慢养成习惯了,主要的目的是当开支过大的时候,知道是由于出去吃饭多了还是买东西多了

就这样慢慢调整

另外不清楚你老婆对金钱的观念,是不是买东西的时候不想需不需要,或者看到宣传的东西就想买,如果是的话你首先要磨合你们之间的消费观(我的话是工作两年后就渐渐没有这种乱买东西的冲动了)

再剩下的就是用于买菜、下馆子、固定开销等家庭开支,由一个人来管理,多的部分合并到下个月
另外一个人想要花钱的时候可以和管钱人说一声(一般大件肯定会要讨论的吧……小东西比如插线板这种不打招呼其实也可以……),然后微信 /支付宝走亲情号。
这是一个很大的问题。超出 1000 可以理解为
1 、她心理还是有点抵触,她存了 3000 你只存了 2000 。
2 、婚前消费就这样,突然你让她降级,怕是有点难。
很好解决 她也只存 2000 就可以解决以上 2 点了。大消费用一张信用卡,小消费用各自的私房钱(支付宝,微信)。
还钱的时候用统一的卡。存钱的卡也是固定的
这样一算只需要三张卡。

男:工资卡 -> 储蓄卡 -> 消费卡
女:工资卡 -> 储蓄卡 -> 消费卡

月底:消费卡 -> 信用卡

看了这么多,你学到了吗?夫妻间还是应该好好沟通,一起解决问题,钱这种东西越来越少,心都会痛的。但是就算能在地上捡到10块钱都是开心的。

小白学堂 » 【V2EX今日新鲜事】吐槽 5 年经验年薪 20W+前端同事写的屎山代码

就聊挣钱,一个带着你做副业的社群。

立即查看 了解详情