変数名は必ず意味のあるものにすべし。みたいなのあるけど、意味を与える必要がない場合もあるんじゃないかと思うわけよ。
例えばreturn用の変数。
List<Item> getCheckedList(List<Item> itemList){ List<Item> checkedList = new ArrayList<>(); for(Item item: itemList){ if(item.isChecked()){ checkedList.add(item); } } return checkedList; }
"return用"ということが分かれば良いと思うのだが、それが何か分かる変数名にしろという。
getCheckedListがcheckedListを返すって、わざわざ書かないと分からないか?
分かってる、Stream使って書けるって言うんだろ。
List<Item> getCheckedList(List<Item> itemList){ return itemList.stream().filter(Item::isChecked).Collect(Collectors.toList()) }
これで分かるんだったら、元のやつでも変数名が何であれ理解できるはずでは?
結構あるんだよね。前者のコードみたいに、本当は変数を用意したくないんだけど、仕方なく、一時的な入れ物として変数を作るとき。
本当は変数にしたくないし、streamAPIみたいに余計な変数を減らせる仕組みが増えていくのは有り難い。
エディタとかIDEとかで変数名を一覧化してデバックしたりしないの?