3

当发布源代码供其他人查看时,当编码风格没有明确定义(没有双关语)时,您是否删除了#ifdefDEBUG 部分?

(即只有在定义了 DEBUG 时才编译的部分)

如果我删除它,它会使代码看起来更好(或者我看起来更好 - 我真的希望有人知道我已经调试过,以及我是如何做到的吗?),但是我会丢失我的调试部分,或者必须保留两个(或更多)版本的代码。

什么是要做?

4

6 回答 6

8

我认为如果您的调试代码是干净的并且在任何日志记录语句中都有“专业”语言,则可以保留它。如果调试代码草率或有调试消息,例如“我在这里......”,“现在我“我在这里……”你应该把它拿出来。

如果您的调试语句反映了存在您无法弄清楚的问题的事实,那么如果您试图将您的软件“出售”给某人,那么最好将它们删除。(希望您以后可以修复它们...)

于 2009-04-09T21:13:56.863 回答
3

除非您在评论中使用不可重新编译的语言,否则您应该保留代码原样。如果有人要使用您的代码,他们很可能会需要这些代码,或者这将帮助他们理解您的代码。(评论也是如此)

编辑:我过去经常处理其他工作室代码。我见过调试代码、死路和许多其他东西,但我唯一讨厌的是那些剥离调试和注释代码的人,这使得他们的代码很难维护

于 2009-04-09T21:14:24.023 回答
3

我也投票决定将其保留。如果/当您开始处理第一个补丁时,您可能需要那些被 DEBUG 阻止的部分。此外,QA 不会喜欢您删除代码,即使它在指令中被阻止。

于 2009-04-09T21:19:59.813 回答
2

如果您决定删除它们,只需在导出代码时使用脚本将它们过滤掉,无需维护两个版本。

于 2009-04-09T21:18:49.613 回答
2

使用源代码管理系统中的所有内容维护您的基本版本。

然后,如果您想分发以一种或多种方式过滤的源代码,请制作一个脚本来制作您的源代码的发布版本。

不要维护这些二级过滤存储库,让它们始终生成。

但值得花时间吗?可能不会,您可能应该只分发包括#ifdef DEBUG 部分在内的所有内容。

于 2009-04-09T21:27:05.460 回答
0

维护 ANYTHING 的多个版本是不可取的。

只有在必须时才这样做。

于 2009-04-09T21:35:04.020 回答