Java 这是一种好的做法吗&引用/*/某物/*/某物/*/";

Java 这是一种好的做法吗&引用/*/某物/*/某物/*/";,java,c++,c,coding-style,comments,Java,C++,C,Coding Style,Comments,为什么人们写这样的代码?这是一种好的做法吗?每个人都有自己的做事方式。。。我猜他们是这么做的,所以你所要做的就是在第一条注释中添加/并删除最后一条/然后将注释块切换到另一组指令 编辑:实际上,你所要做的就是在第一条评论中添加一个/,然后删除它以将其切换回原来的位置。它通常只在测试某些内容时使用。也就是说,您永远不应该将这样的代码提交给版本控制,因为它可能会令人困惑 例如,如果您正在测试两种不同的计算方法,您可以使用它在它们之间切换。就我个人而言,我很少这样做,如果有的话 对于那些不知道的用户,

为什么人们写这样的代码?这是一种好的做法吗?

每个人都有自己的做事方式。。。我猜他们是这么做的,所以你所要做的就是在第一条注释中添加/并删除最后一条/然后将注释块切换到另一组指令


编辑:实际上,你所要做的就是在第一条评论中添加一个/,然后删除它以将其切换回原来的位置。

它通常只在测试某些内容时使用。也就是说,您永远不应该将这样的代码提交给版本控制,因为它可能会令人困惑

例如,如果您正在测试两种不同的计算方法,您可以使用它在它们之间切换。就我个人而言,我很少这样做,如果有的话


对于那些不知道的用户,可以通过添加一个正斜杠在两个代码段之间切换:

/*/ comment here
do some thing.
/*/
do some thing.
//*/
我宁愿这样做

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

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

但这是一个品味问题

糟糕的做法。死代码在任何生产质量代码中都没有任何用处。如果真的存在应用旧的、死的代码的情况,那么应该将其重构成可以使用配置而不是重新编译来打开/关闭的东西。

这让我感到困惑,需要花时间来解析,所以不,我认为这不是一个好的做法

我认为,凯恩回答中提到的任何轻松切换都不值得。开发者浏览器应该注意评论的容易程度


对我来说,这只是一种混淆,绝对不是标准。

这只是一种在两个代码块之间切换的简单方法(正如凯恩·沃尔曼所说)

将它留在生产代码中可能不是什么好事(如果需要,只需删除它并从源代码管理中取回),但在开发过程中,它是一种能够快速切换两个实现(或删除一些代码等)的简便方法。

我认为这和Arkady提到的#ifdef方法都不好,作为对do的多文件搜索,这两个代码看起来都是活动的,但它可能不依赖于前面的行

如果代码有效#如果定义平台依赖,请务必执行此操作


<>但是,如果只是测试代码等,我更喜欢突出显示并插入C++ +/注释,在VisualStudio中,它是<强> cTrl k,c<强>

不一定是不好的实践,但是期待读代码的人的混合反应。例如,我认为它非常酷,但不会将这样的代码提交到存储库。

这让人困惑,而且缺乏编程美学。一个很好的方法是使用C预处理器,并将其编码为:

#ifdef DOIT_ONE_WAY
do one way
#else
do another way
#endif

注释-最佳实践-考虑到易于执行/撤消各种块,这种样式有点更持久的味道。在测试时,我更倾向于在每一行上使用//注释掉/取消注释整个块。一个好的IDE也应该使它变得简单。虽然如果你坚持使用pico,这很好,但我仍然不喜欢它。是的,我也倾向于复制块。我想在一段时间内,我会尝试运用这个技巧,这样我就可以得到一个更公平的意见。绝对不会。这就连你所描述的都很糟糕。要在两个代码块之间切换,我使用#if 1#否则#恩迪夫。然后在1和0之间切换。我真的不需要我的语法荧光笔来告诉我启用了哪个版本。更好的是,#ifdef临时删除了#因为#我正在测试#说#JAF代码块已禁用#endif然后当你在提交之前忘记取出块时,下一个家伙会知道为什么它被禁用,以及他是否应该重新启用它。问题并不是说它在生产代码中。我想我可能在bug报告中使用过这种东西。@Tom Hawtin tackline——通常当有人问这是否是一种好的做法时,他们不会问是否有可以接受的角落案例。我假设OP想知道这是否是应该定期做的事情。在我看来,这不应该。即使那样做也不好。您应该在头文件中使用#if块来设置宏。然后,代码使用宏(如函数)而不使用任何#if,这样真正的代码就很容易读取。宏只处理实现细节。对于真正的宏来说,这无疑是一种糟糕的做法,但这是注释代码的更好选择。当然,tvanfosson是对的——死代码本来就不应该存在。
#if 0

code block disabled

#endif

code block enabled