2012年10月22日月曜日

問い合わせによる一時変数の置換 --- refactoring ---

一時変数は、一時的でかつローカルな使用の為、メソッドの内容を理解してたどり着く必要がある。つまり、長いメソッドになりがちである。それらを問い合わせメソッドにしてしまうことにより、内容の理解を容易にし、他のメソッドからも呼び出すことが可能になる。

[リファクタリングを行いやすい状況]
 ・ 一度だけ代入される一時変数
 ・  代入される値をつくる式が副作用を起こしにくい。

[Example: from Refactoring by Martin Fowler]
double basePrice = _itemprice * _quantity;
if (basePrice > 10000)
  return basePrice * 0.95
else
  return basePrice * 0.98


   if (baseProce() > 1000)
     return basePrice * 0.95
   else
     return basePrice * 0.98

double basePrice() {
  return _itemprice * _quantity;
}

0 件のコメント:

コメントを投稿