上司不允许使用 es6 新特性理由是他看不懂

2021-06-04 08:31:32 +08:00
 kensoz

请问是我道行不够还是上司跟不上潮流?

入职不久的前端开发,最近参与一个模块的调整作业,模块本身多人接手过所以 es5 es6 都有。 用 es6 的 filter 方法处理了几个 api 接收的数据, 完后 codereview,上司说不行非让我用 for 循环写,理由如下

1.他看不懂,原因是他虽然也懂前端但是主要负责后端,原话:java 里没有 filter 2.他看不懂就没法排错,万一写错他不知道哪错了 3.新特性不够稳定,兼容性有问题,显然他不懂 bable 4.万一我休息遇到 bug,for 他会改 5.for 也罢 filter 也罢最后都能用,为什么不用大家都懂的

虽然我给他普及了相关知识,可还是被无情拒绝。 当时我是很生气的,这明明就是 js 基础了,2021 年还有这种人? 不过事后一想,上司的做法不能说全错,毕竟他是要对项目负责的,稳是第一位。

公司还行,但是没有干长的打算 如此别说是参与内卷了,不仅啥都学不到,技术退步肯定是必然的。 请问各位遇到这种事情会怎么办?

28578 次点击
所在节点    程序员
308 条回复
h1104350235
2021-06-05 17:55:26 +08:00
遵守团队规范,我觉得没啥问题。如果你不爽 leader,你可以做 leader
seakingii
2021-06-05 20:33:54 +08:00
@mxT52CRuqR6o5 我没想证明什么技术是好的什么技术是坏的,我的观点是:采用什么技术由"领导"决定 ,不管好坏.后果也是"领导"承担,不管好坏.
hotsymbol
2021-06-05 21:19:16 +08:00
那就用 ES2011 来写。同样场景:团队内高 T 大佬说 不要用 Python3,我只会 Python2,你们用 python3 或者用 Golang,要么就不要 merge 到 master,因为我没法帮你做 Code Review
initd
2021-06-05 22:01:16 +08:00
ts 写,tsc 输出 es5,或者 babel,rollup
tonytonychopper
2021-06-05 23:22:09 +08:00
filter 其实是 es5 语法。
这种事情,要么你说服 leader,要么 leader 说服你。没有 filter 也能写代码,就是干得爽不爽而已。另外这帖子还有人在喷前端我也是服了……
inhzus
2021-06-05 23:38:59 +08:00
什么年代了连 filter 都能算是炫技了?写 Java 的连 Stream/guava 这些都没用过真的有写过代码吗?领导错没错不重要,这么菜的公司快跑啊!
levelworm
2021-06-05 23:48:50 +08:00
@hotsymbol 这个就太无语了,3 都出来多少年了。的确啊这种就得赶紧走了。
Solael
2021-06-05 23:52:39 +08:00
现代编程语言越来越趋同,新特性主流语言不可能没有,一丁点不愿意学习的人真心不适合继续在一线开发。
anguiao
2021-06-05 23:59:04 +08:00
能不能用应该有个确切的标准,而不是你说你不会我就不能用。
loginbygoogle
2021-06-06 00:25:50 +08:00
互联网太精彩
DOLLOR
2021-06-06 00:31:24 +08:00
@tonytonychopper
这个环境就是这样的,许多后端有迷之自信,对自己不了解的领域充满偏见
shakukansp
2021-06-06 01:30:23 +08:00
笑死了

楼主你自己封一个 filter 然后用领导让不?
godblessumilk
2021-06-06 02:35:25 +08:00
建议普及下 微服务 /微前端,提高自治权,实现软件工程推崇的功能模块 [高内聚低耦合] ,即可实现职权划分清晰,也避免了甩锅领导担责,同时不限制手下的技术栈挑选使用
way2explore2
2021-06-06 06:48:55 +08:00
骨头硬一点
Actrace
2021-06-06 09:37:13 +08:00
技术角度:
看了一下 array.filter,发现确实可以简化某些场景下的应用(虽然我也是从未用过这个特性),是一个蛮实用的语法糖。不过,语法糖其实不是越多越好,编程语言过多的规则(语法糖)会加深心智负担,间接影响了程序可读性。array.filter 相比传统的 for,虽然减少了代码量,但是 for 能实现一样的功能,还能更灵活,大多数情况下可能还是选择用 for (少即是美)。

管理角度:
团队项目的整体水平实际上是一个木桶效应(重点),其最强实力取决于最菜的那个。也就是说,一旦你用了 array.filter,其他人也必须一起使用,否则就无法一起协作。解决方案大概就是以下两点:

1,所有需要用到 array.filter 的地方你都来承担。
2,睡服其他人,让他们一起用 array.filter 。

一个例外的方案是你收购了这家公司。
cereschen
2021-06-06 09:52:18 +08:00
遇到这种情况直接跑路就行了
首先 你继续这样自己写着也不爽
然后 你以后出去面试其他公司 es6 都不熟 人家肯定不要你
你自己考虑吧
LudwigWS
2021-06-06 10:59:49 +08:00
有些人的技术就是一年的工作当十年来用
noahhhh
2021-06-06 13:05:25 +08:00
@yeqiu 上班是赚钱,别由情绪决定。我建议楼主是先按部就班试一个月,熟悉了以后再下结论。
slert
2021-06-06 20:49:53 +08:00
比较意外的是楼上很多人还挺支持这个领导
作为员工 可以选择服从领导 但这不能改变这个领导既不是一个好的程序员 也不是一个好的领导的事实
dfkjgklfdjg
2021-06-06 21:56:15 +08:00
@learningman 我记得可以把 ES6+的新特性 build 成 ES5 来着....现在不行了吗,有段时间没关注 babel 了。

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

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

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

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

© 2021 V2EX