前端圈的过度设计正在毁掉你

最近看到个事儿,挺唏嘘的。

让几个 8 年经验的资深前端手写个原生 JS 弹窗,结果你猜怎么着?
手抖。

写不出来。

不是他们菜,是肌肉记忆被篡改了。

脑子里全是 npm install,全是 import Modal from 'antd',全是那些比裹脚布还长的 Redux 样板代码。

一旦拔掉网线,删掉 node_modules,这一身武功当场废了一半。

这哪怕不是全部,也绝对是咱这行现在的通病。


数据的残酷真相与熵增命运

我看过 HTTP Archive 的一个数据,特别吓人:过去 10 年,移动端页面的 JS 体积暴涨了 328%。

这意味着啥?

意味着你刚买的 iPhone 16 Pro,打开个网页还是会发烫。

意味着首屏加载慢得像蜗牛。

更逗的是,这种复杂度根本不是业务带来的。
是软件熵增及其背后的那点小心思。

大家都知道,代码行数每增加 10%,缺陷率就指数级上升。因为人脑的认知带宽就那么点儿,层级一多,神仙也晕。

所以,我们现在是在用指数级的代码,去解决线性的业务问题。

这买卖,亏大了。


所谓"价值",往往是被制造出来的困难

说句得罪人的大实话。

当我们在那捣鼓 Next.js、GraphQL、Micro-Frontends 这些高大上的词儿时,心里真的全是为了业务好?

拉倒吧。

隐隐约约的,谁心里还没点小九九:

"这架构整上去,年底 PPT 好看啊。"

"这流程弄复杂点,显得技术含量高,跳槽能多要 50% 薪水。"

这就是传说中的 RDD (Resume Driven Development,简历驱动开发)。

也不全怪兄弟们,KPI 就在那摆着。
主管只看你"引入了什么新技术",不看你"省了多少服务器成本"。

这种考核机制下,谁简单谁吃亏。

为了证明自己牛 X,我们硬是把简单的逻辑搞成了九曲十八弯。

你看这种代码,熟不熟悉:

typescript 复制代码
// 🔴 RDD 风格:仅仅是为了切换一个开关
// 你需要创建 action.ts, reducer.ts, types.ts, store.ts...
// 还要写一堆 interface...
dispatch({ type: 'TOGGLE_MODAL', payload: { id: 'promo', visible: true } });

// 🟢 正常人风格:
const [isOpen, setIsOpen] = useState(false);

这就是在用公司的钱,给自己镀金。

甚至可以说,这就是职业失职。


800MB 的 Hello World

7 年前,写网页多简单啊。

建个 .html,写点标签,双击打开,齐活。

html 复制代码
<!-- 2018: 简单纯粹 -->
<div id="app">Hello</div>
<script>
  document.getElementById('app').innerText = 'World';
</script>

现在呢?

好家伙。

配环境、填 tsconfig 的坑、修 eslint 的红线、等 npm install 下载半个互联网。

等你终于能写第一行代码了,灵感早凉透了。

看看咱那 node_modules,有时候真像个垃圾场。

为了用个 isNumber 引入整个 lodash。

为了画个圆角按钮,引入 2MB 的 UI 库。

这就好比下楼买包烟,你非得穿一套防爆服。

路人看你觉得挺专业,其实心里在想:这人是不是傻。


工具没错,错的是场景

我不是说 Next.js 不好。

你要是做 Amazon 那种级别的电商,要极致 SEO,那它是神器。

你要是有 1000 个前端维护一个后台,那微前端也是刚需。

你要是做企业级网关,Axios 的拦截器也是必须的。

但问题是,你团队几个人?
你日活几个?

就三五个人,服务公司内部几十个运营,你非要整套核弹发射系统?
瑞士军刀能解决的事,别上重武器。

关于封装这事儿,我也想吐槽两句。

封装是为了隐藏复杂度,不是为了隐藏逻辑。

现在很多项目,过度封装到了"不可理喻"的程度:

javascript 复制代码
// 🔴 过度封装:
// 所有的请求必须走这个黑盒,美其名曰"统一管理"
// 结果想加个 Header 都得改源码
import request from '@/utils/request'; 

// 🟢 适度抽象:
// 简单点,说话的方式简单点
const simpleFetch = (url, opts) => fetch(url, { ...defaultOpts, ...opts });

炸蚊子用核弹。

蚊子没死,先把自己炸飞了。💥


撕掉伪装,回归本质

别卷那些虚头巴脑的工具了。

AI 时代,写这种模板代码 Copilot 比你快一百倍。

真正的护城河是啥?

是你一眼能看透业务本质,然后选个最"抠门"、最"省事"的方案把事儿平了的能力。

是你敢在所有人都喊着上 Redux 的时候,淡定地说一句:"这就一个页面,Context 够了。"

是你敢在大家都推崇 SSR 的时候,说:"静态托管就行,省钱。"

我们得稍微停一停了。

重新审视下代码库,里面有多少是为了技术而技术?

是不是忘了其实软件工程就一句话:Keep It Simple, Stupid (KISS)。

技术是螺旋上升的。

繁复之后,必是极简。

甚至不需要知道是哪一年。
只需要知道:技术是用来解决问题的,不是拿来炫技的。


最后想问大伙一句:

你的团队里有没有那种"为了用新技术而用新技术"的神操作?

或者,你有没有过那种"用最笨的办法搞定最难的问题"的爽快经历?
评论区聊聊,让大家避避坑,也打打气。

相关推荐
子兮曰3 天前
jev-ultrafast 深度解析:7 秒订机票的浏览器 Agent 是如何炼成的
前端·后端·agent
子兮曰3 天前
Jev 爆发一周:7 秒 Agent 背后的 System One 生态与三场争议
前端·后端·ai编程
前端小万3 天前
写公众号赚了 3000 块后,我做了一款叫 "一键成稿" 的软件
前端·微信小程序
爱勇宝3 天前
ZCode 开源 24 小时:一份没有历史的账本,回答不了"有没有偷代码"
前端·后端·chatglm (智谱)
三十而立洋3 天前
Cookie 详解:从产生到安全,一次讲透
前端·javascript
卡布鲁3 天前
把一个 Vite + Vue3 应用塞进 qiankun (React + Umi3) 主站:十个坑的复盘
前端·javascript·react.js
汉堡大王95273 天前
Jev:不是聊天机器人, 而是一个智能 if 语句
前端·人工智能·后端
梦想很大很大3 天前
从运行事实到回归证据:Workrun 的 Telemetry 与 Evaluation 实践
前端·人工智能·后端
计算机魔术师3 天前
Meta Muse agent 接入 Shopify 的 Shop Pay 实现代理式购物
前端
沙蒿同学3 天前
我用 Go 搭了一条 AI Agent 流水线:从 1 张商品图到一整套淘宝详情页
前端·javascript·后端