2009-10-19 57 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