做轮子真心深入每个前端的心 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
wobuhuicode
V2EX    程序员

做轮子真心深入每个前端的心

  •  1
     
  •   wobuhuicode 2021-01-16 13:01:41 +08:00 5728 次点击
    这是一个创建于 1734 天前的主题,其中的信息可能已经有所发展或是发生改变。

    前段时间待过一家公司,也是奇葩。 里面的前端轮子一大堆,而且基本都是拿 ant / weui 这些代码套多一层的…… 套多了一层很多配置都写不进去,用起来还不如原来的好用。 而且这一堆轮子还没任何文档,想知道有什么配置还得看源码。

    最最最重要的是,里面的业务代码没几个懂得。之前写的人早走了……

    第 1 条附言    2021-01-16 17:33:49 +08:00
    很多人没搞懂做轮子和做业务的区别。写业务,自己包一层写起来肯定方便,下次改就在这个项目改就好了。
    我这里说的轮子都是脱离业务项目出来给团队层面用的。如果出了问题,或者想改一点什么的话,就要切换到轮子的项目去改,改完还得上传到内部 npm 去更新,然后又要切回去业务项目去改依赖版本号,还可能要改代码。一个轮子的问题涉及到多个项目的话,还得逐个逐个找出来改。
    wukongkong
        1
    wukongkong  
       2021-01-16 13:03:21 +08:00
    你不也是这样嘛,反正我也是这样,
    IsaacYoung
        2
    IsaacYoung  
       2021-01-16 13:10:06 +08:00   1
    屎山拉屎 & 屎山吃屎
    justin2018
        3
    justin2018  
       2021-01-16 13:12:51 +08:00
    方便自己 哈哈哈~

    看不懂别人的 自己在做一个 o(□)o
    salmon5
        4
    salmon5  
       2021-01-16 13:19:34 +08:00
    这多好啊,你就不可替代了
    580a388da131
        5
    580a388da131  
       2021-01-16 15:22:49 +08:00
    大概是很多轮子的配置项太多太多了,有时候我也会随手包一下。。。
    temporary
        6
    temporary  
       2021-01-16 15:24:27 +08:00 via iPhone
    pushback
        7
    pushback  
       2021-01-16 15:27:39 +08:00
    包完这个轮子,就是我的了(成就 MAX )
    bsg1992
        8
    bsg1992  
       2021-01-16 15:50:09 +08:00
    自研框架 到业务方 也会在包一层的。
    VShawn
        9
    VShawn  
       2021-01-16 15:51:13 +08:00
    把标题里 前端 两个字划掉我觉得也说得过去,手动狗头
    xcstream
        10
    xcstream  
       2021-01-16 15:53:56 +08:00
    创造门槛,创造工作量。
    要是 1 个人能快速把活干完,老板为什么要招 2 个人
    nianyu
        11
    nianyu  
       2021-01-16 16:11:47 +08:00
    没有形成文档标准化造成的,我之前一家公司也是这样。
    轮子写的倒是挺好,就是乱七八糟的没文档,写的人走之后没人维护了
    BBUG
        12
    BBUG  
       2021-01-16 16:12:25 +08:00
    扩展现有组件最基础的操作就是透传 props 嘛,相当于原有组件的超集,正常写应该不会存在配置传不进去。
    kangyan
        13
    kangyan  
       2021-01-16 16:59:34 +08:00
    没有规划的前端团队是这样的
    lovecy
        14
    lovecy  
       2021-01-16 17:11:20 +08:00
    我觉得#5 正解,同一个配置你要我复制好几遍我不愿意的,都是新写个轮子套进去。
    9ki
        15
    9ki  
       2021-01-16 17:44:56 +08:00
    你这个问题分为好几个部分
    1. 为什么要封装?
    稍微大一点的项目都是要把三方组件库封装一下在用的,否则遇到库不兼容更新还是挺麻烦的,更别说样式和内部逻辑的问题,在封装的过程中对其样式和操作操作逻辑做一些修改是很正常的事情,当然传递 props 是基础操作,如果没做好自然是水平问题,vue 可以 v-bind="$attrs",react 可以 {...props}

    2. 基础组件中不应该包含业务逻辑,如果将其混淆在一起也是水平问题

    3. append 中的引用部分,monorepo 了解一下
    darknoll
        16
    darknoll  
       2021-01-16 19:14:37 +08:00
    多一层怎么能叫造轮子?造轮子是自己重新开始弄吧
    akira
        17
    akira  
       2021-01-16 20:07:28 +08:00
    不止是前端
    写代码的好多都是这样的了
    ByZHkc3
        18
    ByZHkc3  
       2021-01-16 21:36:16 +08:00
    还真是,比如写个小程序人家用 uniapp 写时都套一大堆,当场疯掉
    shyangs
        19
    shyangs  
       2021-01-16 23:44:54 +08:00
    包完这个轮子,就是我的了.
    laravel
        20
    laravel  
       2021-01-17 00:38:44 +08:00
    造轮子是比较好的学习方式
    iplayio2019
        21
    iplayio2019  
       2021-01-17 03:09:46 +08:00
    原来大家都这样啊。
    jones2000
        22
    jones2000  
       2021-01-17 13:49:23 +08:00
    轮子不是应该从 0 开始做的嘛, 包别人的轮子不就是 2 道贩子嘛。工作量完全不一样的好吧。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1039 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 29ms UTC 18:33 PVG 02:33 LAX 11:33 JFK 14:33
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86