不要复用、不要复用、不要复用

99 阅读2分钟

在过去一年,我试图做一些,应用层功能代码的复用收敛的实践,但是基本上是失败的。

在下半年的时候,我开始集中做移动端的需求,发现移动端有很多很多的投放、阶段营销、年底活动,营销页面,或者主入口页面,就会有大的UI改动,资源、布局、数据结构,几乎全部修改,并且伴随版本切流,上一个版本常态化版本新版本等等多版本共存的状态,不存在旧版本的代码可以直接改动,或者删除的情况。

那么在页面入口不变的情况下,需要做“多版本”保持,所以,这给到我一个认知,原子UI组件卡片级UI组件,甚至是,page级的排版布局,都会是多版本的,所以,这时候,是不支持,UI级的单一复用的,这些所有涉及到UI改动的,哪怕只是一个点,都最好的是“平铺”,有多少种可能,平铺(CV)多少种可能,要尽量保持版本切换时,旧版功能的安全;

同理,推及数据层的复用、接口层的复用,也是需要根据版本的需求,相应的创建对应的新的处理版本,也不要复用

这里还涉及到一个,多版本切换的解决方案;

我实践了一个,复用原子组件的UI接口,但是创建新的样式文件来覆盖的方案:

但是组件层级的版本属性传递太深了,其实对原子UI组件的代码入侵程度还是不可避免;

这又使我联想到,进来,数据流的取数方案,逐渐从HOC(redux的connect())改变成useHook(zustand的useStore),这是否意味着,我的认知在落后;