- ★★Java質問・相談スレッド172★★ [転載禁止]©2ch.net
667 :デフォルトの名無しさん[sage]:2015/03/23(月) 20:07:37.38 ID:6V1tRi7R - 遅レスだが
>>650 変数に入れずにnewして使う方法の最大のメリットはスコープを汚さないこと >InputStreamReader is = new InputStreamReader(System.in); >BufferedReader br = new BufferedReader(is); というコードを書くと、 ・そのメソッド(厳密にはブロック)が終了するまで、以降のコードでは、"is"という変数名が使えなくなってしまう ・IDE出変数名補完を使う場合、使い捨てのオブジェクトまでいちいち変数に格納していると下に行くにつれて変換候補が増えるので 候補を探す時間や絞り込むためのタイプ字数が増える。また選択候補を間違えてしまう可能性が増える ・時間がたってからコードを見る時や他の人がコードをメンテする時、変数として確保されていると、 「変数"is"は、ただの使い捨てか、あるいは他の場所で使われているのか」ということを確認するためにメソッド全体を調査しなくてはならない といったデメリットがある とはいえ何でもかんでも変数に入れずに使ってるとそれはそれで可読性が落ちるし、 そもそも変換候補が大量になったり全体を調査することが苦痛になるほど長いメソッドを書くことがすでに問題だとかいろいろあるので、 必ずしもどっちがいいとは言い切れないけどな
|
|