2016-04-14 5 views
0

これまで私はいくつかの巨大なメソッドを作成しなければなりませんでした。範囲を狭める場合は(真):いいアイデアやごみですか?

多くの変数を初期化するとかなりメモリを消費することがあるため、if(true)文を使用するだけでこれらの状況の範囲が狭くなり、メモリ負荷が軽減されるかどうかを確認しました。

例:

if (true) { 
MyClass obj1 = new MyClass(1); 
MyClass obj2 = new MyClass(2); 
} 
// ...rest of method which does not need obj1 and obj2 

これは実用的なアプローチや、全くのゴミですか?

+0

十分だろうが正直に読み取り可能なコードのように見えることにしていますか?さらに、これがメモリ負荷をどのように減らすと思いますか? – rmlan

+1

メソッドが完全に完了する前に、変数がガベージコレクションされます。これは、メソッド全体が終了するのを待って、変数がそのポイントでガベージコレクションされるのを待っているよりはるかに優れています。 –

+0

単純な 'obj1 = null'(そしてコメント)ははるかに読みやすくなります。 – nyname00

答えて

3

変数の範囲を減らすためにif(true)は必要ありません。

これは

{ 
MyClass obj1 = new MyClass(1); 
MyClass obj2 = new MyClass(2); 
} 
+0

うわー、私は真剣にあなたがそれをすることができることを知っていませんでした、ありがとう。 –

関連する問題