上司不允许使用 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 年还有这种人? 不过事后一想,上司的做法不能说全错,毕竟他是要对项目负责的,稳是第一位。

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

28515 次点击
所在节点    程序员
308 条回复
ada87
2021-06-04 09:52:23 +08:00
如果公司比较闲,你可以就听你领导的,在项目上敷衍了事,划水就行了,多用点时间学习,干自己的事,提升自己。
如果这个时间没有,果断换就是了,一般公司都不要指望在工作的项目上能有多大成长。
wangxin13g
2021-06-04 09:52:32 +08:00
@ian19znj 函数式编程不够抽象?
bingyiyu
2021-06-04 09:52:47 +08:00
如果是我会高血压上来~刚从 node 转 java,之前 node lodash 耍的飞起~后面发现 java 也有 stream 一本满足。
倒是也有个同事说 lamada 表达式可读性差
但是写起来真的是爽啊,没这些玩意不知道写出来的代码多拧巴了
TomVista
2021-06-04 09:52:55 +08:00
@sewer #76 主要不是信不过浏览器,而是奇奇怪怪的小程序表现
ryd994
2021-06-04 09:53:29 +08:00
上司这个理由是没错。但是解决方法错了。他说的问题是确实存在的。但是直接说不准用,这其实是在解决提出问题的人。

应该要让全组人都会用。哪怕现在不用,作为内部培训,知识储备,也是有益无害。到时候再和技术骨干一起讨论是否使用新特性。

更好的办法是:
1. 现在还不可以用,写的代码先放在其他 branch 上。将来可以 cherry pick 回来。
2. 你准备一下,开堂课,把全组大部分人都教会。
3. 先在不太重要的功能上使用。所有新特性必须提供禁用的开关。出问题了先用回老代码再 debug 。
murmur
2021-06-04 09:53:57 +08:00
@fulvaz js 因为很早参数就支持传函数所以可以尽情的玩语法糖
我这个人看的很开,对于框架、库,应该积极的接受,不用语法可以用库,反正最后都是要降到 es5 在浏览器里跑,库和语法谁更高贵

至于语法,公司说了算,我们公司用了 react 、vue,但是还是 es5 语法,我希望拉一个写 jquery 的人都可以来打下手,而不是缺人的时候必须火急火燎的招专职前端。
Vegetable
2021-06-04 09:55:10 +08:00
这件事情,你上司是对的,他的理由都很正当。
不然你觉得为什么这么多公司用 JAVA8 ?

你当然可以鄙视他,觉得团队水平低。但是你要小心——编码能力只是个人能力的一小部分,他是你的上司,可能在某些方便比你强很多,比如这件事情体现出来对项目管理的理解上,你远不如他。也许在系统设计上,甚至在前端工程化这件事上他都有更深入的理解。

最好还是调整一下心态
ymcz852
2021-06-04 09:55:29 +08:00
这帖子里转移话题抨击前端的人真的有够让人无语的..
hjdtl
2021-06-04 09:55:40 +08:00
@murmur 11 个无知的人给你点赞,很遗憾
ayang11
2021-06-04 09:56:23 +08:00
@Navee 竟然连 1.8 新特性都不学吗 我们都普及了
qiuhang
2021-06-04 09:56:33 +08:00
"java 里面没有 filter",还真就手里拿个锤子,看到啥都是钉子了。
fulvaz
2021-06-04 09:59:42 +08:00
@murmur 其实只是大家上下文不同就造成了误解

你只需要 jq 撸个页面, 所以用什么语法, 怎么写, 要不要用 react, 都是无所谓的

我可能和几十个前端合作写一个项目, 你轻视的"语法糖"对我们来说其实是救命的.

看需求而定, 相互理解吧~
sue0917
2021-06-04 10:00:10 +08:00
等你成 Leader,你也会成为你最讨厌的人。。。 如果你考虑不到那些,可能你成不了 Leader
murmur
2021-06-04 10:00:45 +08:00
@fulvaz 举个例子,什么语法糖不能用库实现,但是能极大程度提高效率,注意 IDE 能做的都不算效率,比如 function 声明,因为 IDE 几下就敲出来了

promise 属于库
renmu123
2021-06-04 10:04:22 +08:00
这就自己封装一个 filter 挂到原型链上
lancelock
2021-06-04 10:07:38 +08:00
不是上面一口一个新特性不稳妥的,可是这也不是新特性啊,这是 es5 的内容不是 es6,都 10 几年了还新啥

另外 java 里显然也是有 filter 的,java8 14 年发布的,也八年了,目前也是绝对主流了,真不知道你们领导活在什么年代
rurishi
2021-06-04 10:08:10 +08:00
jdk8 就有 filter 了,这玩意是 17 年的
要是再往前用过 rxjava,那就更早有了。。。
不过还是要听领导的,这个项目第一负责人不是你
mars0prince
2021-06-04 10:15:03 +08:00
这就是 java 的好处了,抱着个 java6,ssh 可以玩一辈子,要不然国内都用 java
thtznet
2021-06-04 10:16:22 +08:00
改了 for,能跑么? 2 个能跑一个就行,纠结啥。
myCupOfTea
2021-06-04 10:16:54 +08:00
@murmur 所以 java 没有 stream 吗

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

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

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

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

© 2021 V2EX