V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
kensoz
V2EX  ›  程序员

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

  •  3
     
  •   kensoz · 230 天前 · 23637 次点击
    这是一个创建于 230 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

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

    308 条回复    2021-06-16 23:56:44 +08:00
    1  2  3  4  
    Navee
        101
    Navee  
       230 天前
    @ayang11 这很正常啊,这都 2021 年了,还有人跟我说 java 代码里面的 lamada 好复杂,看不懂之类的
    iMusic
        102
    iMusic  
       230 天前
    @murmur 现在会三大框架的都比会 jQuery 多吧
    murmur
        103
    murmur  
       230 天前
    @iMusic 那看是啥公司,你要去 BAT 肯定是会三大框架的多
    v135ex
        104
    v135ex  
       230 天前   ❤️ 1
    @murmur 缓缓的打出一个问号?
    cking
        105
    cking  
       230 天前   ❤️ 1
    Java 没有 filter????? 1202 年了 还这么保守?
    myCupOfTea
        106
    myCupOfTea  
       230 天前
    你不会用 can I use 查一下打他脸吗 也就 ie 不支持罢了
    windyCity1
        107
    windyCity1  
       230 天前
    @iMusic #102 不至于只是新人可能这样,工作 4~5 年的,基本还是会 jq 的
    ALVC666
        108
    ALVC666  
       230 天前
    吃瓜看大佬们独领风骚
    wupher
        109
    wupher  
       230 天前
    我有个旧组件写了个 Rust 版,结果运维和领导都婉言……
    iMusic
        110
    iMusic  
       230 天前
    @windyCity1 但是会 jQuery 的现在还搞前端基本也会学至少一个框架啊,而新人就未必会学 jQuery
    marcong95
        111
    marcong95  
       230 天前
    @murmur #94 所以你说用库是宁愿

    import { filter } from 'lodash'
    const filtered = filter(xxx, x => x)

    也不愿直接

    const filtered = xxx.filter(x => x)

    吗?这就有点难理解了。。。
    iseki
        112
    iseki  
       230 天前 via Android
    filter 并没有引入新的语法啊,那依然是一个库函数
    yousabuk
        113
    yousabuk  
       230 天前 via iPhone
    怼他,看不懂去学啊?
    murmur
        114
    murmur  
       230 天前
    @marcong95 这是沟通的技巧,毕竟别人在带团队,招什么级别的人是别人说了算
    凡事都有的折衷,而不是别人不认你的语法糖就给人鄙视一顿,毕竟 es5 以上就可以跑 es6 babel 后的东西了
    那就是说 es6 的语法糖核心部分都能用库来解决(说服别人)
    monkeyWie
        115
    monkeyWie  
       230 天前
    正常操作,我们空降的 JAVA 架构师连 swagger 都没听过还不一样指指点点
    bzw875
        116
    bzw875  
       230 天前
    很好解决,担责的问题,前端遇到 bug 你来解决。你休息的时候出现 bug 你要过来。前端代码全部你写,或者后端也开发你来审查。
    snail00
        117
    snail00  
       230 天前
    正常操作, java 里边, 我用新特性, 用设计模式, 然后其他人不愿意维护, 怕改错了, 然后就怎么简单怎么来, 做完大家都能维护, 自己的工期压力也小.
    UBcai
        118
    UBcai  
       230 天前
    大佬考虑稳定,你考虑自己技能提高。只不过大佬 java8 的 filter 都不知道就有点离谱。
    play78
        119
    play78  
       230 天前
    @bzw875 新员工入职,字里行间还透露着干不久要走。你猜出现 bug 。人先跑还是代码先跑。最后谁兜底。
    play78
        120
    play78  
       230 天前
    到时候出现 bug,代码跑不起来,人先跑了
    slipkinem
        121
    slipkinem  
       230 天前 via iPhone
    @murmur 这种做法对公司好,对程序员不好,我们还指着缺人的时候抬价格
    slipkinem
        122
    slipkinem  
       230 天前 via iPhone
    这种情况听老板的,然后代码写成屎,私下多学习,然后跳槽进大厂 /涨工资
    IvanLi127
        123
    IvanLi127  
       230 天前
    我遇到过类似的事情,2020 年,技术主管不会 angular 2+,非要在新项目用 angular.js 写页面。公司之前没有 web 前端的历史项目。 这个主管对代码格式要求挺高,但是就是不用 eslint,说不想增加他不熟悉的东西,也不想增加复杂度,然后我们提交代码全部要对 import 、函数、变量声明进行字母表序排序。。。天天教育我们不要有思维惯性,我觉得他已经固化得无药可救了。

    试用期过完后的第一天我离职了,空降了个啥玩意,人家国外团队非常棒的后端代码他也要推倒重来,换了个自己搞的框架,这种人搞政治的吧
    marcong95
        124
    marcong95  
       230 天前
    @murmur #114 哦哦哦,那你的意思就是说,跟类似楼主上司的人沟通的时候,不要说 xxx.filter 是新语法,而是说这是某个库添加的功能?
    murmur
        125
    murmur  
       230 天前
    @marcong95 我会直接写成 ArrayUtils.filter(xxx),如果这都看不懂那真的是无法沟通,但是很明显楼主还没沟通到这一步

    不要期望主后端的人对前端多了解,我见过很多写后端的,连 arr.join 拼接字符串都不会
    yazinnnn
        126
    yazinnnn  
       230 天前
    我使用 kotlin + arrow 做的一个服务根本没法交接出去.......
    grewer
        127
    grewer  
       230 天前
    稳定不是借口, 说到底还是 lead 不行, 怕自己控制不住
    clf
        128
    clf  
       230 天前
    换一家公司呗。
    limuyan44
        129
    limuyan44  
       230 天前   ❤️ 2
    本站是不是因为前阵子出圈了风气越来越怪,你作为一个需要亲自帮下属擦屁股的 leader,新来一个手下一边处处透露着要走,一边往项目里加自己不懂的,你会先怪自己不去学习还是先保证项目的稳定呢,我估计各位一定是先扇自己俩巴掌问一句为什么别人会你不会然后默默主动学习。
    fanyingmao
        130
    fanyingmao  
       230 天前
    我现在呆的要我接手 14 年的老代码,本来想滚的,结果说让我用 ts 做新项目,但还是要排查一些老项目的问题。做这行最讨厌接二手代码,因为老代码我入职几天就跑了几次了。
    murmur
        131
    murmur  
       230 天前
    @grewer 他能让一个项目几经转手还能在正常维护运行已经很厉害了,多少公司都是项目做完直接连项目带公司一起倒闭
    charlie21
        132
    charlie21  
       230 天前   ❤️ 4
    两层管理:
    leader A1 <- 精通架构 // 偶尔不得不(承担某种责任?)亲自下场编码
    lz <- 精通 js 花式语法糖 💥

    三层管理:
    leader A2 <- 精通架构
    leader B2 <- 既略懂 架构,又略懂 js 花式语法糖 💧
    lz <- 精通 js 花式语法糖

    四层管理:
    leader S3 <- 精通某几种后端架构,吃老本真的是能吃到死
    leader A3 <- 精通某几种前端架构,(不得不?)紧跟 js 时代步伐
    leader B3 <- 既略懂 架构,又略懂 js 花式语法糖 💧
    lz <- 精通 js 花式语法糖

    故而,公司管理太扁平了也不好。归根到底,内因是人脑容量不够还爱瞎承担责任的问题,外因是分工精细化趋势的副作用的问题

    这里给出的建议是去一家有 leader B2 或 leader B3 + leader A3 的人员配置的公司,对其它公司不要保有错误期待。当然有时候其它公司能开工资很高、短期福利很好 ... 但长期不利于职业发展,如果你非要把 js 这种弱智玩意当作职业发展根基的话。
    zzczzc
        133
    zzczzc  
       230 天前 via iPhone
    谁说 java 没有 filter ?难道 jdk8 都不用吗?
    shyangs
        134
    shyangs  
       230 天前
    Java 8 有 filter.

    不過部分人可能時間停留在 jdk1.5, 1.6, 1.7 的年代.
    YidaZh
        135
    YidaZh  
       230 天前   ❤️ 1
    记得那还是在 16 年,我到了一个传统技术团队,页面都是 JSP 前后端一起的那种。
    当年还比较年轻,一进去 Vue Element Webpack 一顿撸,那会儿这些东西远没现在这么普及,leader 也没管我,毕竟产出是 ok 的。
    可是,我干了不到一年后提桶跑路了,接手我的工作是一位外包同事,跑路后还经常问我问题。。。我后悔了,觉得草率了,可能不该这么激进的,比如说不上 webpack npm,直接 vue 和 elment 的 script 引入,会不会更好。。
    fueen
        136
    fueen  
       230 天前
    如果是上司的视角来发个帖吐槽,这里的人就又会把矛头对准你了
    otakustay
        137
    otakustay  
       230 天前
    @murmur 恰恰相反,BAT 肯定是会 jQuery 的比会三大框架的多,区区“会”而已,基本可以认为 BAT 的前端是 100%会 jQuery
    Felldeadbird
        138
    Felldeadbird  
       230 天前
    你的上司有点坐井观天,不思进取了。如果没什么提升空间,建议做得差不多就走人。
    szq8014
        139
    szq8014  
       230 天前
    @qwerthhusn Stream.of(1,2,3) 就行了, 2333
    ipwx
        140
    ipwx  
       230 天前
    @marcong95 为啥感觉楼主说的是,他上司不用 lambda,只准用 for 。。。
    waiaan
        141
    waiaan  
       230 天前
    你上司说的也有道理,作为他已经不仅仅是考虑技术问题了。
    cwp374240920
        142
    cwp374240920  
       230 天前
    这...贵司居然还有 code review?
    theprimone
        143
    theprimone  
       230 天前
    看了这么多讨论,属实妹想到一个 filter 语法能上升这么高的层面。。。
    love
        144
    love  
       230 天前   ❤️ 5
    术高莫用!!!
    array.filter() 这种高科技由于过于艰深,普通人无法理解其运行原理,上司禁用这种大招情有可原
    ericgui
        145
    ericgui  
       230 天前
    简单来说,又到了你离职的时候了
    nicebird
        146
    nicebird  
       230 天前
    - 基本上是上司不行,可以考虑跑路
    - 按照上司说的做,领导的话听呗
    flytsuki
        147
    flytsuki  
       230 天前
    老项目的话我连 lambda 都不写,新项目直接 vite+ant design 各种新特性起飞
    hanxiV2EX
        148
    hanxiV2EX  
       230 天前 via Android
    oceanbase 也不允许这些复杂的语法
    fengxianqi
        149
    fengxianqi  
       230 天前
    这样的 leader 居然还能做到 code review,我是没有想到的。。。
    asdf123101
        150
    asdf123101  
       230 天前 via Android
    Java 有 filter 。但是这种团队合作的事情写成什么样都无所谓,反正测试一写结果对就算完事了。不让用就不让用呗。以后你自己的主导项目随便弄成什么样都行。
    mudssky
        151
    mudssky  
       230 天前
    用 typescript,编译成 es5 就行了
    ccppgo
        152
    ccppgo  
       230 天前
    @rurishi 14 年吧 jdk8
    mxT52CRuqR6o5
        153
    mxT52CRuqR6o5  
       230 天前 via Android   ❤️ 1
    你要这么去理解这个上司,他对数组的认识就只有数组长度和下标取值,那些数组方法看都不会的看一眼的,全部通过 for 来完成,力求通过学习最少的知识完成图灵完备的编程需求,工作经验就是使用仅有的一点点编程知识也能顺利完成各种不同的需求
    walpurgis
        154
    walpurgis  
       230 天前 via Android
    具体问题具体分析吧,如果是一个不太稳定的组件功能,谨慎不用是能理解的
    如果连 filter 都不让用,意味着 map reduce 等函数式方法肯定也不能用,身为技术负责人不懂这些也太水了,不值得追随
    seakingii
        155
    seakingii  
       230 天前
    你没有错,你的上司也没有错,错的是这个世界,错的是 Javascript 语言(滑稽)....
    7gugu
        156
    7gugu  
       230 天前 via iPhone
    有合理的理由就好了啦🤷‍♂️
    反正工资照出,代码照写就好了,不强迫,老大说啥是啥
    shyangs
        157
    shyangs  
       230 天前
    @mudssky
    filter 就是 ES5 裡的特性.
    要降到 ES3 + polyfill / shim
    rioshikelong121
        158
    rioshikelong121  
       230 天前
    走人。
    py2ex
        159
    py2ex  
       230 天前   ❤️ 2
    quote
    java 里没有 filter
    震惊,你老板可能用的是 Java 7

    其实按照约定的代码规范来就行了,比如他新加的,不允许使用 es 特性,
    标注是他发起的,群发所有人

    开发中这条规则给人造成不方便了就 cue 他;有人违反了这条规则就 cue 他;这条规则导致事故--虽然不太,可能就 cue 他

    在团队中工作不太可能完全根据自己的想法来;可以考虑找一个别的更加开放的团队
    seakingii
        160
    seakingii  
       230 天前   ❤️ 1
    听我的,公司项目按公司标准做,想自我提高 ,你可以私下自己做自己的项目,或者参与开源项目,想怎么用就怎么用
    stockmaster
        161
    stockmaster  
       230 天前
    换组吧。这样的老板,楼主真可怜。
    MarkLeeyun
        162
    MarkLeeyun  
       230 天前
    直接离职。。。
    jiangzhuo
        163
    jiangzhuo  
       230 天前
    看標題以爲是繼特斯拉以後,蔚來 es6 也被禁了。
    RomeoHong
        164
    RomeoHong  
       230 天前   ❤️ 1
    @limuyan44 倒果为因?处处透露着要走,这都被你看出来了。。。
    potatowish
        165
    potatowish  
       230 天前 via iPhone
    @Navee 很多人? 估计都是四五十岁的老程序员,学不动了吧
    xwayway
        166
    xwayway  
       230 天前
    刚好相反,我们是必须用 filter,不准 for
    encro
        167
    encro  
       230 天前
    你用 es6,
    自动编译成 es5 给他看。。。。

    这下能看懂了吧?


    我们在前端支付项目也禁止直接使用 es6,
    但是理由是有部分老用户还在用 iphone6,7,
    而且不升级系统,JS 错误会导致不能支付,编译的话加了一堆不要的东西,没必要。
    RomeoHong
        168
    RomeoHong  
       230 天前
    @antiquezzz 我看你不靠谱,为什么要招进来?我看你不靠谱,你就是不靠谱!我看你不靠谱,你是不是想要偷东西了!我看你不靠谱,你是不是想撂挑子了!
    littlewing
        169
    littlewing  
       230 天前
    跑路吧
    我相信,过 100 年后你来问他,他仍然不懂,仍然不稳定,仍然不会
    no1xsyzy
        170
    no1xsyzy  
       230 天前
    Haskell 连 for 都没有,我觉得不能用 for 写,必须全用 Monad 写

    do
      a <- [1,2,3]
      b <- if a `mod` 2 == 0 then [a] else []
      return b

    不影响 Haskell 比 Java 更稳定啊 https://www.foxhound.systems/blog/why-haskell-for-production/
    royzxq
        171
    royzxq  
       230 天前   ❤️ 17
    没屏蔽 murmur 就是为了看能有多搞笑, 果然又出来讲笑话了。

    另外一个 Array.prototype.filter 能整出这么多事真有意思
    jklopsdfw
        172
    jklopsdfw  
       230 天前
    有点离谱,语法糖不语法糖根本不是关键问题,讨论里强调语法糖的大概只是想争赢讨论。关键是什么写法不容易出错,只能说你领导和正常人的理解不同吧,filter 又不是什么奇怪的抽象
    antiquezzz
        173
    antiquezzz  
       230 天前
    @RomeoHong 1.你可以建议法律把试用期设置为违法,面试成功就是正式员工; 2.招人也是有目的性的,领导焦头烂额的只想找一个听话的,结果愣是各种跳脱,绝大部分公司都是业务导向的; 3.人与人之间的信任不是见一面就能建立的,不先证明自己就要求别人信任可太幼稚了
    xingguang
        174
    xingguang  
       230 天前
    @murmur #7 事实上 import 才是 es6 语法,如果用了 import 还不用 es6,那我没话说了
    yyzcl
        175
    yyzcl  
       230 天前 via iPhone
    一个出了好多年的语法都不让用,还是用看不懂这个理由,这人是有多不思进取
    如果是讲究兼容,生产代码用 Babel 转译一下即可
    hyy1995
        176
    hyy1995  
       230 天前
    小公司就是这样的,更奇葩的上司我都见过,要么努力跳槽去大厂,要么忍,就这么简单,没必要发帖
    IsaacYoung
        177
    IsaacYoung  
       230 天前 via iPhone
    别问 问就是跑路
    DOLLOR
        178
    DOLLOR  
       230 天前
    难怪都说 java 卷,自己卷就算了还带着其他领域一起卷。
    feikeq
        179
    feikeq  
       230 天前
    听领导的啊,不然这领导你来当,信不信你当领导后到时也像他一样甚至比他更苛刻。
    hui9000
        180
    hui9000  
       230 天前   ❤️ 1
    解释了领导不行,不解释公司不行,话都让你们说了,你在公司代码就是服务公司服务业务的,用什么不行;老纠结啥循环,不要为杠而杠,为了证明领导 sb,公司 sb,对你自己有啥价值。
    unco020511
        181
    unco020511  
       230 天前
    这么说吧,曾经我因为使用 lambda 表达式和上司吵了一架,那次之后他就好多了
    seki
        182
    seki  
       230 天前   ❤️ 4
    一看这个标题我就知道会有 murmur,啊哈哈

    我建议跑路吧,1202 年了连 filter 都不能用的环境,对工作经验积累没什么正向收益
    chniccs
        183
    chniccs  
       230 天前   ❤️ 1
    其实人家上司能承认看不懂,就已经很不错了,还有他的出发点也是好的。至少比那些看不懂还装懂的人好多了
    zzlatan
        184
    zzlatan  
       230 天前
    哪个公司,想去了,这工资好混啊。
    jQuery 才是真理!
    souths
        185
    souths  
       230 天前
    公司的项目领导说啥就是啥,自己的项目想怎么来就怎么来,工作内容不喜欢就换啊
    h1104350235
        186
    h1104350235  
       230 天前
    要么提桶,要么自己当领导
    limuyan44
        187
    limuyan44  
       230 天前
    @RomeoHong 别逗了,按他的描述这技术公司水平就那样,谁也不是外行,你觉得是写 filter 的时候想离职的,还是见到这公司的代码想离职的,既然有离职的想法,作为老大自然要保证项目的稳定,另外说一句,虽然本站风气是 leader 是垃圾架构技术不如我,但是一个正常的老大是肯定看得出组里同学的离职想法的。
    gablic
        188
    gablic  
       230 天前
    害,看标题我以为是蔚来,那没事了
    ayase252
        189
    ayase252  
       230 天前 via iPhone
    都 2021 年了不能用 ES6,还留着干啥
    SmiteChow
        190
    SmiteChow  
       230 天前
    你是干活的,不是来帮助公司革新技术的,看清自己的职责。
    vvv7000
        191
    vvv7000  
       230 天前
    @iMusic 萌新求问,三大框架是啥
    method
        192
    method  
       230 天前
    快离职吧。
    Kamiyu0087
        193
    Kamiyu0087  
       230 天前
    神特么 Java 没有 filter,你上司看来还停留在 Java6
    dream4ever
        194
    dream4ever  
       230 天前
    @vvv7000 React,Vue,Angular 。
    leexy
        195
    leexy  
       230 天前
    六字真言?
    JokeEnd
        196
    JokeEnd  
       230 天前
    别人带着前几年一二线流行的技术带到三四线的 leader 比比皆是,多想想人家能成为 leader 的原因。
    Torpedo
        197
    Torpedo  
       230 天前
    这也能扯到 java 我也是醉了。。。

    js 里用个 filter 不是很正常么。。。我寻思这也不是啥高级特性啊

    这和其他语言也没啥关系吧。你面试个前端,不会 filter,你会给他过么

    就因为 leader 写 java,很多人就觉得 leader 这么想是对的?

    确定不是在给 java 招黑吗?
    ciki
        198
    ciki  
       230 天前
    这种就是老油条,PUA,兼职 s,b
    rebounce
        199
    rebounce  
       230 天前
    @seki 你对他有点意思。
    CodeUtils
        200
    CodeUtils  
       230 天前
    你这上司菜得就离谱
    1  2  3  4  
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1911 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 48ms · UTC 16:36 · PVG 00:36 · LAX 08:36 · JFK 11:36
    ♥ Do have faith in what you're doing.