关于前端公共代码抽离的一点思考
刚开始写代码的时候,我觉得只要有重复的地方,就应该抽出来做成公共的函数或组件。这样可以减少重复,提高复用率,维护也方便。
但是后来在实际项目中,我发现事情并没有想象的那么简单。很多时候,这样的抽离反而会带来更多问题。
看似一样,不一定就是一回事
比如表单场景:
前端定义的响应式数据字段,和提交给后端接口的数据字段,名字可能完全一样。
但它们的含义并不一样,一个是用来驱动界面的,一个是后端接口参数。
如果因为名字相同就把它们当成一个东西来写,短期省事,但后续逻辑一旦分化,维护起来就会非常麻烦。
巧合相同,不代表本质相同
再举个例子:
我们的系统里有 5 种类型的优惠券。
在初版中,它们的外观完全一样,只是文字不同。
如果为了省代码,把它们当成一个组件,通过不同状态来区分,看起来没问题。
但问题是,这种相同只是“巧合”。将来不同类型的优惠券可能会有完全不同的逻辑或样式,到时候就会牵一发而动全身。
正确的做法是:即使它们现在一样,也应该老老实实地定义 5 个组件。
因为它们本身就是不同的东西,不能因为一时的相似就强行合并。
我的思路
所以,现在我写代码的时候更谨慎:
确定本质相同的东西,才会抽成公共代码。
只是看起来一样,但本质不同的东西,就不要硬合并。
这不是增加代码量,而是避免未来的麻烦。
📌 总结 2 句:
不要给不确定的事情加上确定的预设。
抽离是为了让代码更合理,而不是单纯地少写几行。

被折叠的 条评论
为什么被折叠?



