1.两个项目有大量雷同的代码 怎么能更好的复用? 比如把公共部分拎出来打个包? 2.如果需要合并到一个仓库里?怎么操作比较好呢?看到有使用 monorepos 来解决的 ?还有什么其他方法 或者各自优点是什么
1
dcalsky 2020-08-04 10:12:28 +08:00 via Android
个人复制粘贴。团队抽象成库
|
2
louieliu OP @dcalsky 团队抽象成库当然是一种办法 但是我觉得合并为一个仓库然后去管理是更好的处理方式 这样可以复用的程度更大
|
3
wangxiaoaer 2020-08-04 10:37:14 +08:00 1
作为一个过来人,我不得不说复制粘贴大法真香。
曾几何时,我也想过做抽象,甚至考虑用一个库,通过不同分支或者不同的打包策略实现定制。 可是现实很骨感,上面那种方式非常考验你的前期架构和设计抽象能力,因为需求是奇葩的,时间是紧迫的,这意味着有的时候不得不在原本应该属于核心共用的地方做定制,所以就出现了各种 ifelse,长久下来,你已经忘了这个抽象的玩意儿到底是干什么的。 后来还是回归复制粘贴大法。 当然,作为技术人员,追求高层次的抽象,实现软件层面的高度复用是我们的追求,但是面向工资编程,妥协是不可避免的。 |
4
prolic 2020-08-04 10:50:19 +08:00
copy 成 utils 文件解决,最灵活,需求满足不了还能改改
|
6
xuanbg 2020-08-04 11:37:52 +08:00
公共库+复制粘贴才是王道。
另外一个小技巧是参数名尽可能中性,譬如 data 、obj 、dto 这种,这样复制过去根本不用改。 |
7
zqx 2020-08-04 12:03:50 +08:00 via Android
楼上的做法会出现,一个抽象函数形式参数是 data ,value,list,map,调用的人一脸懵
|
8
keepcleargas 2020-08-04 14:55:51 +08:00
@wangxiaoaer 你是对的
|
9
hitaoguo 2020-08-04 15:14:06 +08:00
如果这两个项目后期迭代还是同时新增相同功能的话,把相同部分抽出来吧。
比如你公共部分写好逻辑,进入页面就获取一个列表,具体怎么获取列表就在项目里实现。 |
10
dagouziwangwang 2020-08-04 15:26:41 +08:00
webpack5 module federation
|
11
wzzzx 2020-08-04 18:35:03 +08:00
我就说一点,命名一定要中性!我们也有俩类似的,不过在上传文件的阶段,一个上传 pdf,一个上传 png 。就因为名字不中性,根本没法 cherry-pick
|
12
luckyrayyy 2020-08-04 18:40:42 +08:00
中台了解一下,kpi 在向你招手
|
13
Kirsk 2020-08-04 18:41:42 +08:00 via Android
如果是业务逻辑不要复用 基础组件一定要复用 其实这个问题属于工程管理问题
|
14
BlackZhu 2020-08-05 10:38:38 +08:00
正好 我们老板叫我们把所有系统统合在一起,数据库随便换,表字段随便换 我估计我在来个 100 年就能开发完成吧
|