0

我的主管最近要求我准备一个解决方案,在该解决方案中,我们的应用程序中的多个逻辑可以在应用程序运行时恢复为早期的代码。实际上,我需要准备一些东西,比如可以动态激活的标志或指示器,以将我们应用程序中的所有代码实例从新版本切换回旧版本。

新逻辑是由我们团队的新成员准备的,我们担心代码投入生产后会出现内存泄漏,我们需要一个解决方案,让我们能够关闭这些更改并返回原始必要时编码。

 if (new_code == ON)
 {
    New Logic
 }
 else
 {
    Old logic
 }

这个项目最初是为了在我们的构建过程中帮助消除构建和编译警告,因此它会影响从函数参数到变量声明的代码,因此没有一种单一类型的代码会受到影响。我们正在运行 tuxedo 堆栈,但根据我们的一位高级开发人员的说法,不建议实施 tuxedo 配置文件来实现此更改。不过,我不知道有类似的解决方案。

有任何想法吗?谢谢!

4

2 回答 2

1

它会起作用吗?当然。这是个好主意吗?不,您现在有新代码的风险,加上切换代码中的错误风险,以及如果您在运行中从一个切换到另一个会发生什么的风险。您不应该这样做,它比直接部署更改更有可能造成麻烦。

你应该做什么——如果你真的关心它,不要部署它。对其进行额外的测试,直到您对它感到满意为止。然后,当您确实部署它时,如果有一些东西通过测试,请计划回滚到以前的版本而不进行这些更改。

于 2014-08-18T16:22:41.423 回答
0

使用函数指针调用函数。根据您的需要制作一个 API 以将函数指针更改为旧的或新的。

于 2014-08-18T16:37:50.730 回答