gpt4 book ai didi

legacy - 您如何继续使用旧代码和新代码开发大型(长期)软件系统?

转载 作者:行者123 更新时间:2023-12-04 17:06:08 27 4
gpt4 key购买 nike

关闭。这个问题是opinion-based .它目前不接受答案。












想改进这个问题?更新问题,以便 editing this post 可以用事实和引用来回答它.

5年前关闭。




Improve this question




我在拥有大量用户安装基础的大型代码库上工作。该代码最初是用 vb6 编写的,带有一些用于低级工作的 c++ COM 模块。

重写所有已经用 vb6 编写并且我们的客户每天都在使用的代码是完全不可行的,但我们也在继续对软件(大小)进行改进和定制。

到目前为止,我的解决方案是用 c#(现在的 winforms 甚至 wpf)编写大部分新代码,然后使用 COM 互操作从 vb6 调用模块。

有没有人有像这样的长期软件套件(10 年以上)的经验,无法完全重写,但同时需要不断的新开发。此外,在这样的混合系统中,连接模块的最佳方式是什么?我现在正在使用 COM,但也考虑过具有单独进程的 IPC。

最佳答案

很难给出一个包罗万象的答案,但高层次的方法是明确的。至少,这是我使用的方法。优先考虑您的目标,然后尝试确定实现这些目标的成本。您的成本基本上归结为“开发人员时间”。

首先,你希望任何正在工作的东西都能继续工作。如果你有一些正在工作的东西,并且没有充分的理由重写它,那就保留它。

如果您的某些现有代码需要更新才能完成其工作,那么您正在考虑维护成本。此时,您需要确定重写是否会提高维护成本,使其值得。不要忘记减去新错误的测试和调试,因为会有新错误。不要仅仅因为它是旧的而忽略工作代码。

如果您现有的代码是足够模块化的,您通常可以一次一点地修改它。首先重写高维护组件。

如果您将在 C# 中进行新的开发,那么您应该可以很好地使用 COM 组件,直到您有足够的理由来替换它们。

关于legacy - 您如何继续使用旧代码和新代码开发大型(长期)软件系统?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/679949/

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