【发布时间】:2011-04-07 12:47:53
【问题描述】:
逆向工程代码,我对这种风格有点震惊,但我想确保没有充分的理由做这些事情......
是我自己还是这是一种可怕的编码风格
if ( pwbuf ) sprintf(username,"%s",pwbuf->pw_name);
else sprintf(username,"%d",user_id);
以及为什么将不用于编译的代码包装在
#if 0
....
#endif
而不是 cmets?
编辑:正如下面的一些解释,这是由于我没有意识到的混乱 /* */ 的可能性。
但我还是不明白,为什么不直接使用你的编程环境工具或喜欢的文本编辑器的宏来阻止使用“//”注释掉它
这不是更直接,更容易在视觉上跳过吗?
我只是对 C 缺乏经验并且想念为什么这些东西可能是一个好主意 - 还是没有任何借口,我有理由对这段代码的丑陋感到恼火?
【问题讨论】:
-
我以前做过,出于某种原因,它看起来更清晰。从未见过用于注释代码的预处理器指令。
-
@Novikov:我已经看到很多预处理器指令的使用:D
-
有点丑,但不是完整的fugly。只需戴上轻度到中度的啤酒护目镜,它就有机会看起来更好。
-
我已经完成了预处理器指令的事情。优点是它可以维护您的代码格式和颜色编码。打开代码块也比 cmets 更容易。
-
它还可以最大限度地减少差异并使补丁更易于阅读。
标签: c compilation c-preprocessor