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でこれを模倣する方法はありますか?