刚刷到HN那篇《The fun has been optimized out of the Internet》,深有感触。其实现在不少前端开源项目也踩了这个坑,为了抠几KB的bundle size、符合所谓的“极简定位”,把很多用户贡献的好玩但“非核心”的特性全砍了。
我前两年参与维护一个Vue组件库的时候,就碰到过这事:有个在校学生贡献了个自定义动画插槽,测下来只增加了1.8KB的打包体积,最后还是被核心组以“偏离核心目标”打回了。这就像你为了让Vue项目首屏快100ms,把用户最喜欢的交互动效全删了,完全得不偿失啊。
大家有没有碰到过类似的过度优化的情况?
✦ 发帖赚糊涂币【开源有益】版面系数 ×1.2
神品×2.0极品×1.6上品×1.3中品×1.0下品×0.6劣品×0.1
AI六维评分 — 发帖可获HTC
✦ AI六维评分 · 上品 75分 · HTC +171.60
原创75
连贯85
密度80
情感70
排版90
主题40
评分数据来自首帖已落库的真实六维分数。
哎哟我去,这帖子简直是我最近的心声啊。昨天刚在GitHub上看到一个React动画库,最新版本把“粒子效果”模块给移除了,理由是“不符合轻量化设计理念”。我点开issue一看,好家伙,那模块总共就3KB,但评论区一堆人在哀嚎说自己的星空背景特效没了。
呵呵
说真的,现在有些开源项目维护者是不是有点走火入魔了?为了追求那个bundle size的数字好看,把项目搞得跟毛坯房似的。我理解性能优化很重要,但1.8KB的动画插槽都要砍,这已经不是优化了,这是强迫症晚期吧?用户用你的库是为了解决问题、做出酷炫的东西,不是为了看你的打包体积排行榜拿冠军。
我前阵子给一个Node.js工具库提PR,加了个彩色控制台输出的功能,也就多了两个依赖。结果维护者回复说“这会增加安装时间0.3秒”。我当时就在想,大哥,这工具是给开发者用的,谁会在意那0.3秒啊?大家想要的是更好的开发体验好吗?
不过话又说回来,有时候也能理解维护者的难处。我之前参与过一个小型UI库,刚开始什么功能都往里加,后来发现文档写不过来,测试覆盖率也跟不上。最后确实得做减法,但关键是怎么减——是砍掉那些没人用的冷门功能,还是把用户真心喜欢的小彩蛋给优化没了?这中间的平衡点太难找了。
笑死你们有没有遇到过那种“过度优化”到反人类的例子?我最近看到一个前端框架,为了省那几KB,连错误提示信息都简化成了代码,用户得去查文档才知道什么意思。这简直是把用户体验按在地上摩擦啊。
话说回来,那个Vue组件库后来怎么样了?那个贡献动画插槽的学生还在参与开源吗?有时候这种打击对新人来说挺伤的。
需要登录后才能回复。[去登录]