阿提说说 2023-03-16 01:08 采纳率: 100%
浏览 74
已结题

该不该接这个烫手山芋,代码合并

目前公司有两套系统A和B,B糸统开始是从A所在分支拉的新分支,随着B糸统的不断迭代,A、B两套系统差距越来越大,某一天,领导突然要求将B糸统的代码合并到A系统中,目前大致梳理了两套系统的差异点,但不知道具体的功能点,写代码跟合代码也是两波人,而且A系统生产环境还有重要客户在使用(经常被这个客户投诉),大家都觉得没法做,但领导始终要求进行合并,认为B系统只是私有化版本,A系统才是基线版本,B系统的功能在A系统都应该有。
大伙觉得这事应该怎么办,有碰到过这种情况吗,大伙可以说说想法交流一下,优秀回答我会适当打赏。

  • 写回答

5条回答 默认 最新

  • 於黾 2023-03-16 08:30
    关注

    “B系统只是私有化版本”
    这个认识是完全正确的
    但是正说明A系统的功能不能满足私有化定制的需要,所以只能改动源码来适应需要
    B系统改动的部分是针对B客户的需要,把它放到A系统中,是不可能适应A用户需要的
    如果只是单纯的合并代码,完全是画蛇添足的行为
    真想好好打磨A系统,那就要仔细去观察B系统到底做了哪些定制化的修改
    然后在A系统中将这些功能实现,而不仅仅是复制代码
    否则早晚还会有个客户C,定制化一套C系统出来
    将来还会有DEFGHIJK系统,无穷无尽
    这不叫迭代,这就是小作坊式的开发,每个用户一套单独的系统
    -=-=-=-=
    举个简单的例子
    A用户希望主页背景是红色的
    B用户希望主页背景是蓝色的
    按照小作坊式的开发,它们的源码都写死了红色或蓝色
    如果仅仅按照领导字面意思merge一下,那你将拥有两个主页文件
    但是实际上你应该增加一个后台管理功能,可以随时修改配色,甚至自己上传背景图片
    -=-=-=
    这条路当然是不那么好走的
    但是正路一般来说都不好走,因为它是通向山顶的路
    看起来好走的路都是下坡路
    -=-=
    最后,如果这个产品想要推广,想延续生命,那必定是要整合功能,升级迭代
    整合的是功能,不是代码
    那么你自己是否愿意接这个项目,最终还看你有没有能力接
    有能力接就接,有多大本事干多大事,不要勉强

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
    1人已打赏
查看更多回答(4条)

报告相同问题?

问题事件

  • 系统已结题 3月24日
  • 已采纳回答 3月16日
  • 修改了问题 3月16日
  • 创建了问题 3月16日

悬赏问题

  • ¥15 微信会员卡等级和折扣规则
  • ¥15 微信公众平台自制会员卡可以通过收款码收款码收款进行自动积分吗
  • ¥15 随身WiFi网络灯亮但是没有网络,如何解决?
  • ¥15 gdf格式的脑电数据如何处理matlab
  • ¥20 重新写的代码替换了之后运行hbuliderx就这样了
  • ¥100 监控抖音用户作品更新可以微信公众号提醒
  • ¥15 UE5 如何可以不渲染HDRIBackdrop背景
  • ¥70 2048小游戏毕设项目
  • ¥20 mysql架构,按照姓名分表
  • ¥15 MATLAB实现区间[a,b]上的Gauss-Legendre积分