何度も同じデータ元から値をgetする処理は、変数にしまったほうが良いのでしょうか?
解決したいこと
Javaでリファクタリングを行っています。
何度も同じデータ元から値をgetしてくるような実装に対して、見にくく感じるので変数にしまったほうが良いのかと思いました。
ただ、デメリットもあると思い、どちらがベターな実装方法なのかを知りたいです。
ご意見ください。
リファクタリング前のソース(例)
for (DataRow row : datalist) {
methodA(row.get("name") , row.get("id"));
methodB(row.get("name"));
if(row.get("name").equals("hoge")){
continue;
}
methodC(row.get("name"));
}
リファクタリング後のソース(例)
for (DataRow row : datalist) {
String name = row.get("name");
String id= row.get("id");
methodA(name, id);
methodB(name);
if(row.get(name).equals("hoge")){
continue;
}
methodC(name);
}
row.get("id")
は、一度しか使わないからわざわざしなくてもいい?
同じものは同じように見せるべきだから、したほうが良い?
メリット
- 変数にしまったあとのソースの見栄えが良い
デメリット
- 行が増える
- メモリを無駄に使っている?
- ローカル変数が、同一クラス内の他の変数名とかぶることがある。
- これは、かぶらない名前をつければいいのですが…
1