这是一个好习惯吗? “/ * /东西/ * /东西// * /”

时间:2009-07-21 03:56:52

标签: java c++ c coding-style comments

/*/ comment here
do some thing.
/*/
do some thing.
//*/

为什么人们会这样编写代码?这是一个好习惯吗?

9 个答案:

答案 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)

不一定是不好的做法,但期望来自读取您的代码的人的混合回复。例如,我认为它非常酷,但永远不会将这样的代码提交到存储库。