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

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

28574 次点击
所在节点    程序员
308 条回复
garvan
2021-06-04 18:04:09 +08:00
总结,楼主和老板都挺菜的,绝配
xingyuc
2021-06-04 18:04:40 +08:00
java8 就有函数式编程了吧
cco
2021-06-04 18:23:07 +08:00
你们这领导怕不是还在用 JDK1.4 吧。
fgk
2021-06-04 18:24:21 +08:00
lodash 或者 ramda 选一个,就不是新特性了
cco
2021-06-04 18:25:12 +08:00
@qwerthhusn 你这前半部分 java11 了,已经超越了他们领导的认知了。
liuidetmks
2021-06-04 18:47:49 +08:00
为什么不用 typescript 呢?
现在还有人裸写 js?
gancl
2021-06-04 18:52:39 +08:00
@liuidetmks typescript 写有什么好处?
Leviathann
2021-06-04 18:58:55 +08:00
filter 还好
reduce 就真有很多人不懂了
今天 review 的时候就问我一段从 array 构造 object 的代码为什么用 reduce 不用 map🐶
levelworm
2021-06-04 19:45:19 +08:00
@touchwithe 笑死了,unpack 是吧。。。
levelworm
2021-06-04 19:48:23 +08:00
@zhangbaoliang 我也赞同,以 C++为例,自从 13-20 加了好多东西,很多人写出来的东西基本上就是全函数式的了,那你倒是用 lisp 啊。。。
gy0624ww
2021-06-04 19:50:43 +08:00
支持领导,要有大局观。
炫技啥的,技术领域更新迭代那么快,总用新技术摒弃旧的,还不嫌内卷吗

我的观点就是当新技术解决了日常开发的一个痛点,那可以考虑推广,但是同样的效果,或者增益甚微,仅仅是追求"新",duck 不必。

还有说一句,大厂很多都存在旧系统,旧版本,你改革你负责可以,否则还是别折腾了。
gy0624ww
2021-06-04 19:58:13 +08:00
还有补充一点,你说担心未来在会技术退步,这个和工作没多少关系,还是和自己的关系比较大
比如搞后端的,哪有那么多高达上的业务让你展现,大部分都是 curd 罢了。除了优化解决痛点之外,业余自己充电是提升自己的主要途径。
hafuhafu
2021-06-04 20:05:46 +08:00
不让用 reduce 、flatMap 之类的我还能理解,filter 的话...既容易看懂,还方便直接,学习成本极低,使用起来感觉一点心智负担都没有。
而且 Java 从 JDK8+有也 Stream...你这上司太古板了,对你的发展不是好事。
xiaoming1992
2021-06-04 20:25:31 +08:00
前端的技术发展,真的不是为了炫技,大多数都能切实地提高开发效率。

是上面这句话太过深奥无法理解,还是因为一些人太过傲慢?
touchwithe
2021-06-04 20:30:29 +08:00
@levelworm #229 就是**kwargs 被 leader 当作指针的指针……笑哭
levelworm
2021-06-04 20:40:27 +08:00
@touchwithe 这个是核心语法啊,他不懂是不对了
其实我一直琢磨,对于比如说 java, C++等语法比较多,年数比较久得语言来说,到底哪些语法算是核心语法,不懂就不对?
touchwithe
2021-06-04 20:44:54 +08:00
@levelworm #236 程序员这行本身就是要终身学习。新特性可以为了兼容或易读等原因不用,但不能不会甚至不知道。
levelworm
2021-06-04 20:49:13 +08:00
@touchwithe 但是我觉得终身学习是可以有不同方向的。
no1xsyzy
2021-06-04 21:03:18 +08:00
@yeqiu 是一个非常简单非常基本的东西,不过 filter 不是 lambda,而是可以把 lambda 或者说任何 a -> Boolean (甚至隐式地转换成 Boolean )作参数
你先定义个函数 isLengthGreaterThanSix 再把这句话写成 words.filter(isLengthGreaterThanSix) 是一个道理
只不过 lambda 写起来舒服罢了:一次性、即用即造、即完即销、不用特地为它命个名
young1lin
2021-06-04 21:12:56 +08:00
这个我觉得你可以整理一份详细的文档教程出来,给你上司,照着这个来学,慢慢改不就好了吗。身居高职,你不在,领导就是背锅的,我最近带人感悟的,好累啊,什么都要给安排,自己还要做,出了问题还得我背锅。草

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

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

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

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

© 2021 V2EX