发布时是否删除 #ifdef DEBUG 部分?

3
发布源代码供他人查看时,如果编码风格没有很好地定义(无恶意),您是否会删除#ifdef DEBUG部分?(即仅在DEBUG被定义时编译的部分)
如果我删除它,代码看起来更好了(或者让我看起来更好了——我真的想让别人知道我已经进行了调试以及如何进行吗?),但是这样我将失去我的调试部分,或者必须保留两个(或多个)版本的代码。
该怎么办呢?
6个回答

8

我认为,如果你的调试代码干净且日志语句使用了“专业”用语,那么可以将其保留。如果调试代码不规范或者调试信息像“我在这里……”,“现在我在这里……”,那么应该将其删除。

如果你的调试语句反映出存在你无法解决的问题,那么最好将其删除,如果你正在尝试向某人“销售”你的软件。(希望你以后能够修复它们……)


5
如果您打算删除所有不专业的调试代码,那么您最好将它们变得更加专业,并保留下来,但不要改变其原本的含义。 - Daniel Dickison

3
除非你在注释中使用了不可推荐的语言,否则应该保留代码。如果有人要使用你的代码,很可能他们需要这些注释,或者这将帮助他们理解你的代码。(对于注释也是如此)
编辑:我经常在过去处理其他工作室的代码。我看到过调试代码、死路径和许多其他东西,但我最讨厌的是剥离调试和注释的人,这使得他们的代码真的很难维护。

3

我赞成保留它。如果/当你开始处理第一个补丁时,你很可能需要这些被DEBUG锁定的代码块。此外,即使该代码在指令中被锁定,QA也不会喜欢你删除它。


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

2

将您的基础版本与源代码管理系统中的所有内容保持一致。

如果想要分发经过一种或多种方式过滤的源代码,请创建一个脚本来生成源代码的发布版本。

不要维护这些次级过滤仓库,让它们始终是生成的。

但是这样做是否值得时间呢?可能不值得,您应该将包括#ifdef DEBUG部分在内的所有内容都进行分发。


0

维护多个版本的任何东西都是不可取的。

只有在必要时才这样做。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接