7

javacのコード削除機能に関する情報を見つけるのに苦労しています。

次のようなものがある場合、ifステートメントは削除されると読みました。

static final boolean DEBUG = false;

if (DEBUG) System.out.println("Hello World!"); // will be removed

しかし、たとえば次のようにするとどうでしょうか。

static final int VALUE = 3;

if (VALUE > 9) System.out.println("VALUE > 9 ???"); // will this be removed?

またはこれ:

static final SomeEnum VALUE = SomeEnum.FOO;

if (VALUE==SomeEnum.BAR) System.out.println("Bar???"); // will this be removed?

javacプログラムを分析してすべてのデッド コードを見つけることは非常に困難/不可能であるため (おそらく停止問題に似ています)、認識して削除する明確に定義された構造 (上記の最初の例のように) はわずかしかないと思います。確実に。これらの構造の包括的なリストはありますか?

4

4 に答える 4