我在这里看到了答案,您可以在 Java 中使用 final static const 变量来防止代码部分被编译。我对这种方法的担心是我健忘。:-( 在签入代码之前,我可能会忘记将变量设置回 false,这可能会对项目产生负面影响。
在 C/C++ 中,您可以指定可用于控制代码编译的环境宏。例如:
#if defined(_PROFILE)
Time startTime;
#endif
... run some code ...
#if defined(_PROFILE)
Time endTime;
std::cout << "Code took " << endTime - startTime << " seconds\n";
#endif
因此,只有在有人专门定义了 _PROFILE 宏时,分析测试代码才会被编译,该宏可以作为编译器命令行上的一个选项传递,并且没有意外签入的风险。
有没有办法在Java中模仿这个?