在发布源代码供其他人查看时,编码样式没有明确定义
(没有双关语)
你删除了#ifdef
DEBUG部分吗?
(即仅在定义DEBUG时编译的部分)
如果我删除它,它会使代码看起来更好(或者我看起来更好 - 我真的希望有人知道我已经调试过,我是怎么做到的?),但是我会失去我的调试部件,或必须保留两个(或更多)版本的代码。
该怎么办?
答案 0 :(得分:7)
我认为如果您的调试代码是干净的并且在任何日志记录语句中都有“专业”语言,那么可以将其保留。如果调试代码很麻烦或者有调试消息,例如“我在这里......”, “现在我来了......”你应该把它拿出来。
如果您的调试声明反映了一些您无法弄清楚的问题,那么如果您尝试将软件“出售”给某人,则最好将其删除。 (希望你以后可以解决它们......)
答案 1 :(得分:3)
除非您在评论中使用不可重复使用的语言,否则应保留代码。如果有人要使用您的代码,他们可能会需要这些代码,或者它将帮助他们理解您的代码。 (评论也是如此)
编辑:我过去经常处理其他工作室代码。我看过调试代码,死路径和许多其他东西,仍然是我唯一讨厌的东西,是那些剥离调试和评论代码的人,这使他们的代码真的难以维护
答案 2 :(得分:3)
我也投票支持。如果/当你开始处理你的第一个补丁时,你可能需要那些DEBUG阻止的部分。此外,QA不会喜欢你删除代码,即使它在指令中被阻止。
答案 3 :(得分:2)
如果你决定删除它们,只需在导出代码时用脚本过滤掉它们,不需要维护两个版本。
答案 4 :(得分:2)
使用源代码管理系统中的所有内容维护您的基本版本。
然后,如果您要分发以一种或多种方式过滤的源代码,请创建一个脚本,该脚本将生成源代码的发布版本。
不要维护这些二次过滤的存储库,始终生成它们。
但值得花时间吗?可能不是,你应该只分发一切,包括#ifdef DEBUG部分。
答案 5 :(得分:0)
维护ANYTHING的多个版本是不可取的。
只有在必须时才会这样做。