2009-10-19 56 views
0

我有一位开发人员询问我是否有一种方法可以从部署中排除某些代码。从Builds中暂时排除代码

我们直接从源代码控制中的最新代码运行调试和发布构建。 她会检查代码,并且不希望它因为各种原因被包含在构建中。 (这根本可能是一种,在飞行心态设计,但这是一个长长的故事)

我想过告诉她只是评论入口点,但那会限制她的测试能力完全地,并且它在我们所拥有的一些单一应用程序中是困难的。

我想过告诉她搁置代码,但我们被困在VSS 6上,似乎不支持搁置。 (有没有模仿搁置的黑客?)

我想过告诉她要包含precompilier指令来包装她想排除的代码。

所有这些解决方案都有明显的问题,所以我想我会试着问问互联网社区。

你们都为这类问题做了什么?如果你有这些问题,你会怎么做?

感谢您的帮助。

回答

1

移动到正确的源代码控制系统,并进入分支 - 我们刚刚迁移从VSS到GIT - 没有回头......

+0

我当然可以再次尝试这种方法。有很多需要改变的地方,我们拥有TFS,但没有托管它的服务器许可证。谢谢 – Beta033 2009-10-19 15:43:33

+0

诚实地说,从代码安全性到开发人员的工作效率都来自更现代的SCM - 我真的会推动这一点。即使只有一个不会破坏你承诺的代码的SCM系统,也是朝着正确方向迈出的一步。 – Paddy 2009-10-20 08:46:05

0

在这种情况下,我建议预编译器指令 - 你说有虽然有明显的问题吗?我可能会错过这一点,但那里有什么问题?

+0

那么,我想当我想到这一点时,我正在考虑使用precomp指令将其从调试版本中排除,在这种情况下,我们只是将排除的代码直接转储到生产版本。 自从90年代初以来,我们还有另外一个问题,她写了蹩脚的代码,并没有设法跟上技术。她是少数仍然无法围绕“面向对象”的落后者之一。所以我的理想解决方案对她来说只有极少的额外训练,因为老狗学习新技巧的速度很慢。 – Beta033 2009-10-19 15:40:33

0

您可以始终使用标准#if/#endif“预处理器”指令排除代码块。然而,这非常麻烦。如果你从VSS转移到SVN或GIT将会好得多。

至于“她不想搭建的功能”,请参阅所谓的“主线模型”herehere