gpt4 book ai didi

java - 两个基本相同的代码库,我如何适本地合并它们?

转载 作者:太空宇宙 更新时间:2023-11-04 08:51:39 25 4
gpt4 key购买 nike

首先,这个主题与版本控制系统无关。我们使用版本控制:)但现在它不是主题。

我们有一个用 Java 编写的中等项目。后来,我们需要一些几乎相同的东西,但在 JavaFX 平台上。因此,我们没有从头开始编写,而是使用以前的代码库并更改了必要的部分以使其在 JavaFX 上运行。这不是一个简单的任务,如果它不是唯一的方法,我不建议这样做......但无论如何它都完成了。

我的问题是,现在我们有两个独立的代码库,它们 %80 - %90 相同,并且都在积极开发中。因此,当我们向其中一个添加新功能/错误修复时,另一个需要修复。

我如何重构那些可以从一个地方管理相同部分的项目。而且我还需要松散地耦合相同的不同部分。

谢谢。

最佳答案

我首先将代码分成三个单独的模块(例如每个项目一个模块):

  • JavaFX 用户界面
  • Java 用户界面
  • 应用程序库

这两个用户界面应该已经是单独的开发流。

应用程序库将根据同一代码库独立开发。我将从两个版本中更高级的版本开始,然后查看另一个版本的版本控制日志和差异,并合并更改。可能有一些工具可以帮助您完成此操作,但合并主要是一个手动过程。

如果您有两个不兼容的需求,则需要通过引入适配器或多态实现同一接口(interface)来“封装不同的概念”。有多种技术可以帮助您解耦组件;例如依赖倒置原则,中介者模式。

如果您的应用程序库有单元测试,合并过程会容易得多。

虽然听起来工作量很大,但维护不同的代码库却是一场噩梦。一旦模式确立,采取任何行动就会变得越来越困难,而下一个副本的先例就已就位。每次我在实践中看到这种模式时,产品都会慢慢地失败并付出昂贵的代价。

关于java - 两个基本相同的代码库,我如何适本地合并它们?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3184472/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com