トップページ > プログラム > 2015年03月23日 > 6V1tRi7R

書き込み順位&時間帯一覧

65 位/153 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000000000000010001



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
★★Java質問・相談スレッド172★★ [転載禁止]©2ch.net

書き込みレス一覧

★★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"は、ただの使い捨てか、あるいは他の場所で使われているのか」ということを確認するためにメソッド全体を調査しなくてはならない
といったデメリットがある

とはいえ何でもかんでも変数に入れずに使ってるとそれはそれで可読性が落ちるし、
そもそも変換候補が大量になったり全体を調査することが苦痛になるほど長いメソッドを書くことがすでに問題だとかいろいろあるので、
必ずしもどっちがいいとは言い切れないけどな


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。