V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Marstin
V2EX  ›  职场话题

项目转型撞上保守同事,怎么办

  •  1
     
  •   Marstin · 2020-08-18 11:02:41 +08:00 · 12670 次点击
    这是一个创建于 1352 天前的主题,其中的信息可能已经有所发展或是发生改变。

    去年年中加入现在的项目,当时是 java+jquery 一把梭,代码很多问题,很混乱,小组长和我及另一位同事一直试图改造整个项目,我这边主要负责的是前端的。

    之前一直比较温和地推进,引入 require,限制全局变量,组件开发,制定编码规范等等方式,都还好,有的大家接受了,即便不接受,也不会明面上提出来。

    最近我开始推 Vue 全家桶,webpack,mock,node 这一套后,几位同事的反应就非常抵触了。有说年纪大了,学不会了,有的说 node 太麻烦了。还有的说规范太多了,套路太多了,开发起来哪有以前简单容易。真的搞得我很心累。为了保证平稳过渡,之前我就已经在项目中用 CDN 方式引入 Vue 来使用,理论上来说已经能够适应 vue 的开发节奏了。至于 webpack,vue 那些东西我都已经全部配置好了,就只要执行一个 npm run dev 和 npm run build 命令就可以的,demo 我也写好了,看着 demo 就可以撸业务代码了,这难吗??

    为了兼容以前的项目,要放到老代码的 iframe 中,由 controller 访问,要放弃前端 router 做多页应用,还要按照 java 的打包逻辑打包到对应项目,真的搞得我心累。swagger 和 mock 这一套也推不动。真难

    第 1 条附言  ·  2020-08-18 14:11:07 +08:00
    webpack 和 vue 全家桶能给带来什么?为什么非要推这一套,真的是被老代码折腾得够呛了,同名的有相同意义的函数定义了有十几个;一个页面引入十几个 js,其中定义了四五个同名的全局变量;这种依赖 js 加载顺序,谁后来谁牛逼的覆盖重写方式真的是噩梦;还有不同模块的 js 中有强依赖,还是相互依赖,debug 真不是一般的难;改动以前的业务既要抽丝剥茧,又要担心牵一发而动全身。

    丰富的插件支持,一个命令便能开箱即用,更简单便捷的业务开发
    项目化的前端工程,更有效的代码管理
    代码检查,至少能避免基础的语法词法错误,已经各种声明定义错误
    科学地打包,加强公用模块的提取,组件的高度复用,业务逻辑的剥离

    经常有人吐槽屎山代码,webpack 能强制保证某些垃圾代码过不了编译。对于无需关系项目构建的业务开发人员来说,这一套东西实际上是提高纠错,降低开发门槛的。
    132 条回复    2020-08-30 11:25:32 +08:00
    1  2  
    daimubai
        101
    daimubai  
       2020-08-18 20:08:28 +08:00 via iPhone   ❤️ 1
    你这些同事应该就是整天抱怨 35 岁没人要的人吧
    hyyou2010
        102
    hyyou2010  
       2020-08-18 20:08:36 +08:00
    我可能从这个角度推:你们以后还想跳槽找份好工作吗?现在是 vue/react 的世界了,jQuery 都找不到工作了。
    OHyn
        103
    OHyn  
       2020-08-18 20:16:37 +08:00
    看了楼主这个情况。。我突然感觉我的同事还是有救的,毕竟现代框架爽不爽,一用就知道。。用都不用的就很操蛋了。
    OHyn
        104
    OHyn  
       2020-08-18 20:18:45 +08:00
    蛤,其实写多了,MV*的框架不就那么回事,要用啥用就完了。。。仔细优化另说。。
    而且现在好时代,React 、Vue 概念层面都挺稳定了。。。
    khjian
        105
    khjian  
       2020-08-18 23:47:41 +08:00
    学习的时候有点费劲,但是用起来还是很爽的
    freelancher
        106
    freelancher  
       2020-08-19 04:15:34 +08:00
    给老员工加点工资,让他们有偿学习新技术。

    别光加活不给报酬。

    成了, 你就知道领导层怎么动作了。

    不成就是那个技术 GEEK 。

    ANYWAY,个人见解。防杠。
    Vitta
        107
    Vitta  
       2020-08-19 07:23:29 +08:00 via iPhone
    不知道为什么我很反感 iframe 。。。
    Actrace
        108
    Actrace  
       2020-08-19 08:36:34 +08:00
    其实大多数生产项目的问题,不是如何去做,而是谁来做,谁负责。这是一个职场问题,不要尝试用技术的视角去审阅。

    那么从技术的视角来看,实际又是这样的:
    新技术确实有很多很美好的方面,也可能可以解决很多问题,不过既然是框架,那就肯定有局限性,只能用在特定场景,并且对技术范围有一定限制。楼主你现在所作的,就是你的老前辈们当年所作的(很显然他们成功了)。

    我个人的观点是,开发者可以学习各种新技术,并深入了解各种框架的优缺点,将其应用在合适的场景,听起来很简单?这其实是最难的,因为你必须深入解析其原理,也就是所谓的自己造轮子。

    在以前的 jQuery 时代,很多前端小伙伴可能连使用原生 Javascript 替换 DOM 节点内容的做法都不甚了解。虽然说不影响工作,但是对自己是一种局限。习惯了这种框架带来的便利时,就会变得懒惰,不想去学习新的东西,这就是你现在所看到的那些老前辈的现状。

    虽然上述长篇大论对楼主来说基本都是废话,不过既然楼主这么拥抱新技术,我还是希望能看到楼主继续前进,精进自己的技艺,成为领导业界发展的那个巨人。
    whevether
        109
    whevether  
       2020-08-19 08:38:04 +08:00
    vue 本身就不是很好。一堆在吹的。工程化没有 ng 做的好。组件化也没有 react 做的好。 好多人喜欢吹。就是因为简单。却忽略了基本的 js 基本功。
    liberty1900
        110
    liberty1900  
       2020-08-19 08:59:49 +08:00 via Android
    公司的 react 项目用的 CRA, 一直没敢 inject 哈哈哈, 够用简单稳定
    sa2501
        111
    sa2501  
       2020-08-19 09:17:44 +08:00
    同情你,这种事情需要领导大力 support,领导发话了,领导施压就好干了。
    不然你是个后来的,还跟这些年纪大了学不会了的是平级,推不动的。
    话说,这帮年纪大了学不会了的真是想不开,有这个机会能工作中就更新了技能,有啥好抵制的,难不成还有别的吃饭的手艺。
    darknoll
        112
    darknoll  
       2020-08-19 09:25:25 +08:00
    "有说年纪大了,学不会了,有的说 node 太麻烦了",所以 35 岁后淘汰的应该就是这种人吧。
    bojackhorseman
        113
    bojackhorseman  
       2020-08-19 09:30:06 +08:00
    上家公司的主体项目也是 Java+jQuery 一把梭,先后经过好几个人开发,页面写得很不规范,css 直接写页面标签里,css 文件上万行,冗余的 css 也不敢轻易删除,不知道哪里就用到了。
    js 更是一个页面引了一堆,而且同一个页面引了好几个版本的 jq 。
    zarte
        114
    zarte  
       2020-08-19 09:51:55 +08:00
    应该是有家庭的吧,不是所有时间都来工作学习。你这个改造的时间应该不包括在工作时间吧,这样新功能开发慢还要花时间改旧项目,同时还要学 vue 那套会反感我觉得挺正常的。
    ccfly
        115
    ccfly  
       2020-08-19 09:53:01 +08:00
    @whevether 三个框架都在实际项目写过 然而 ag 是最糟心的一个
    simo
        116
    simo  
       2020-08-19 09:56:22 +08:00
    经典的甩开历史包袱,创造历史,一个新的周期开始,迎接下一个创造历史的人。
    KuroNekoFan
        117
    KuroNekoFan  
       2020-08-19 10:01:42 +08:00
    从技术的角度看,我觉得楼主的想法是很好的
    从工作的角度看,做这些事,要有额外的时间,那么这些额外的时间成本谁来支付?这是个问题
    murmur
        118
    murmur  
       2020-08-19 10:01:47 +08:00
    @whevether js 属于糟粕和特性参半的,甚至可以说糟粕占多,如果有一个框架可以屏蔽掉糟粕,这不好么

    vue 就做了几件微小的事

    1 、最强的 template
    2 、最简单易懂的 web component 实现
    3 、双向绑定实现

    这就够了
    KuroNekoFan
        119
    KuroNekoFan  
       2020-08-19 10:01:59 +08:00
    另外 vue 真的不行
    shunia
        120
    shunia  
       2020-08-19 10:33:38 +08:00
    自上而下提出规范和要求。
    按优先级分步改造,先代码,再测试,再 mock 。
    拉拢积极的同事,提供更多的关注和提点,尝试让同事们相互带动。
    buffzty
        121
    buffzty  
       2020-08-19 11:58:36 +08:00
    你要是做的好好的,你同事现在要全部推翻用 前后端分离.自动部署, 微服务. k8s, 前端用 Typescript + React
    你愿意吗?反正我是不同意.如果是我领导要我换 我愿意,同事 算了吧
    jatai
        122
    jatai  
       2020-08-19 12:06:48 +08:00 via Android
    @ccfly #115 具体怎么糟心,大佬详细说说,我好选坑
    f2ck
        123
    f2ck  
       2020-08-19 12:53:07 +08:00 via iPhone
    @ajaxfunction 我也觉得,vue 感觉跟主流设计背道而驰,vue 越来越重,一点都不好玩儿。
    xsephiroth
        124
    xsephiroth  
       2020-08-19 13:08:41 +08:00 via iPhone
    自从 vue 要 hooks 就开始看 React,现在已经不想再去碰 vue 的任何东西了
    xwhxbg
        125
    xwhxbg  
       2020-08-19 13:45:32 +08:00
    @ajaxfunction 您说的是 todo list 吧?但凡前端稍微复杂点你用 vim 打开即使装了插件都很难改对,我印象中石墨文档前端压缩了以后都有差不多 10mb 的 js,没压缩估计得 30mb 了,换算成行数基本上超过 3000 万,如果里面的 canvas render layer 出了 bug,您用 vim 改么?
    pushback
        126
    pushback  
       2020-08-19 13:57:48 +08:00
    看来你也得装成不怎么懂的样子,不然会让老家伙觉得年轻的骑在他头上拉屎
    jaques9602
        127
    jaques9602  
       2020-08-19 15:33:24 +08:00
    欢迎跳槽
    hoyixi
        128
    hoyixi  
       2020-08-19 15:39:23 +08:00
    根本不是技术问题,是责任问题。 做完了很可能出力不讨好,如果出问题老人和你上司还得替你背锅。
    除非上面当“官”的自己说重构,谁都没话说
    whevether
        129
    whevether  
       2020-08-29 09:31:12 +08:00
    @ccfly 说的好像我没写过三大框架一样。我三大框架都写过组件库。 你呢。
    whevether
        130
    whevether  
       2020-08-29 09:32:58 +08:00
    @ccfly 来来你用 vue 实现一个这个给我看看. https://angular.keep-wan.me/
    whevether
        131
    whevether  
       2020-08-29 09:36:54 +08:00
    还最强 template.你怕是没用过 ng 吧。 双向绑定不是万金油。有时反而会增加耦合度。
    Lujango
        132
    Lujango  
       2020-08-30 11:25:32 +08:00
    新老员工工资难道是倒挂的吗?
    1  2  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1776 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 00:40 · PVG 08:40 · LAX 17:40 · JFK 20:40
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.