c - 全局标志恢复到 C 中的原始逻辑

标签 c signals conditional-statements compiler-flags alternate

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

新逻辑是由我们团队的一位新成员准备的,我们担心一旦代码投入生产就会出现内存泄漏,我们希望有一个解决方案可以让我们关闭这些更改并返回如有必要,可使用原始代码。

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

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

有什么想法吗?谢谢!

最佳答案

这有效吗?当然。这是不是一个好主意?不会。您现在面临新代码的风险,加上切换代码中出现错误的风险,再加上在运行中从一种代码切换到另一种代码时发生的情况的风险。您不应该这样做,它比直接部署更改更有可能造成麻烦。

你应该做什么 - 如果你真的担心它,就不要部署它。对其进行额外的测试,直到您满意为止。然后,当您部署它时,计划在测试中出现问题时回滚到以前的版本而不进行这些更改。

关于c - 全局标志恢复到 C 中的原始逻辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25367608/

相关文章:

c - 如何动态分配结构+指针

c - 使用 Control + C 的进程突然结束是陷阱还是中断?

python - 如何在Python中发送和接收实时信号 `sigqueue()`?

Java 条件困惑? (初学者)

c - ARM编码器计数失败

c - 如何在不更改内容的情况下更新文本文件

c - 在程序内部使用 EXIT_SUCCESS/EXIT_FAILURE 进行错误报告可以吗?

c++ - SIGRTMAX 的 Valgrind 和 sigaction

javascript - 为什么空 JavaScript 数组在条件结构中的计算结果为真?

ios - 在 iOS 中使用 Firebase Remote Config 测试/验证 A/B 测试