2016-06-16 24 views
1

私は非常に基本的な質問があります。これは2以下、より良い性能面である場合:ローカル変数または繰り返し呼び出し?

if (getSomeValue() != null) { 
    processSomeValue(getSomeValue()); 
} 

OR

String someValue = getSomeValue(); 
if (someValue != null) { 
    processSomeValue(someValue); 
} 

getSomeValue()が何かをしない通常のゲッターです。

+3

私はそこに大きな違いがあるとは思わない。おそらくゲッターが多大な義務を負うとすれば、このスニペットは何百万回も繰り返されています...私にとっては時期尚早の最適化のようです。あるいは、あなたはコードスタイルで戦いを解決しようとしていますか? – Fildor

+1

単なるゲッターであれば、違いは無関係です。 –

+0

'getSomeValue();'は高価な呼び出しでなければ、パフォーマンスとは関係ありません。 – Kayaman

答えて

2

ベストプラクティスは、getSomeValue()が単純なゲッターであることを既に知っていても常に第2の方法を使用することです。重要なことは、将来コールが維持され、将来誰かによってコールが変更される可能性があることです。開発者は、getSomeValue()の内部コードを変更すると、現在使用している呼び出しメソッドが認識されないことがあります。

関連する問題