使用注释在代码之间交换

Ed *_*rty -1 c comments

我想出了一种快速方法,可以使用注释快速测试代码中的两个变体之间进行交换:

doSomeNormalCode();
findAnObject()
//*/
.doA()
/*/
.doB()
//*/
;
additionalNormalCode();
Run Code Online (Sandbox Code Playgroud)

这称为findAnObject().doA(); 简单地删除和/之间的第一次交换.这可以通过添加更多行来扩展:.doA().doB()/*/

doSomeNormalCode();
findAnObject()
//*/
.doA()
/*/
.doB()
/*/
.doC()
/*/
.doD()
/*/
.doE()
//*/
;
additionalNormalCode();
Run Code Online (Sandbox Code Playgroud)

执行此操作findAnObject().doA().doC().doE(); 您可以将任何/*/一个//*/转换为a 来切换它下面的所有行.因此,添加/之前.doB()会将其更改为findAnObject().doA().doB().doD().doF();

这当然非常复杂.我已经习惯了它,它对我来说非常快.我从来没有将它保存在已提交的代码中,只是为了快速交换测试选项.

有没有更简单的方法在各种选项之间快速切换,除了注释掉一个部分并取消注释另一个部分,如果在注释掉的代码中有/**/注释,则需要每行都有前缀,这可能很麻烦//.

我在这里明显提到C风格的评论,但我也对其他语言感兴趣.

han*_*nes 6

怎么样

#if 0
  doA()
#else
  doB()
#endif
Run Code Online (Sandbox Code Playgroud)

只需将0切换为1即可.或者,如果您有两个以上的选项,请使用定义.