/*/ comment here
do some thing.
/*/
do some thing.
//*/
为什么人们会这样编写代码?这是一个好习惯吗?
答案 0 :(得分:25)
它通常仅用于暂时测试某些东西。也就是说,你永远不应该将这样的代码提交给版本控制,因为它可能会令人困惑。
例如,如果您正在测试两种不同的计算方法,则可以使用它们在它们之间切换。我个人很少这样做,如果有的话。
对于那些不知道的人,您可以通过添加一个正斜杠在两个代码部分之间切换:
/*/ comment here
do some thing.
/*/
do some thing else.
//*/
//*/ comment here
do some thing.
/*/
do some thing else.
//*/
答案 1 :(得分:16)
蹩脚的练习。死代码在任何生产质量代码中都没有任何业务。如果确实存在旧的死代码应用的情况,那么它应该被重构为可以使用配置而不是重新编译来打开/关闭的东西。
答案 2 :(得分:15)
我宁愿做
#ifdef DOIT_ONE_WAY
do one way
#else
do another way
#endif
但这是一个品味问题
答案 3 :(得分:3)
这让我很困惑,我会花时间解析,所以不,我不认为这是好习惯。
我认为,凯恩的回答中提到的任何易于切换都是不值得的。开发人员浏览器应该注意易于评论。
对我而言,这只是令人困惑,绝对不是标准。
答案 4 :(得分:2)
每个人都有自己的做事方式......我猜他们这样做了所以你所要做的就是在第一条评论中添加/并删除最后一条/然后将注释块切换到另一条一套说明。
编辑:实际上你要做的就是在第一个评论中添加一个/然后删除它以将其切换回来。
答案 5 :(得分:2)
这令人困惑,缺乏编程美学。一个好方法是使用C预处理器并将其编码为:
#if 0
code block disabled
#endif
code block enabled
答案 6 :(得分:1)
我认为这和Aifadiy提到的#ifdef方法都很糟糕,因为对做某事的多文件搜索看起来像代码都是实时的,而它可能不依赖于以前的行。
如果代码有效#ifdef平台依赖确实这样做,
但如果它只是测试代码等,我更喜欢突出显示批次并插入C ++ //注释,在VisualStudio中 Ctrl-K,C
答案 7 :(得分:0)
这只是在两段代码之间切换的简单方法(如Kane Wallmann所说)。
将它保留在生产代码中可能并不好(只需将其删除并在需要时从源代码控制中恢复),但开发它时可以快速切换两个实现(或者删除一些实现)代码等)。
答案 8 :(得分:0)
不一定是不好的做法,但期望来自读取您的代码的人的混合回复。例如,我认为它非常酷,但永远不会将这样的代码提交到存储库。