リファクタリング:問い合わせによる一時変数の置き換え

一時変数を使って式の結果を保持している場合、式をメソッドに抽出します。
一時変数へのすべての参照を新たなメソッドに置き換えることで、
新たなメソッドが他のメソッドでも使えるようになります。

private void WriteType()
{
int totalStrength = _strength + _weapon;
int totalDefence = _defence + _armor;

if (totalDefence < totalStrength)
{
Debug.WriteLine("アタックタイプ");
}
else if (totalStrength < totalDefence)
{
Debug.WriteLine("ディフェンスタイプ");
}
else
{
Debug.WriteLine("バランスタイプ");
}
}

private void WriteType()
{
if (GetTotalDefence() < GetTotalStrength())
{
Debug.WriteLine("アタックタイプ");
}
else if (GetTotalStrength() < GetTotalDefence())
{
Debug.WriteLine("ディフェンスタイプ");
}
else
{
Debug.WriteLine("バランスタイプ");
}
}

private int GetTotalStrength()
{
return _strength + _weapon;
}

private int GetTotalDefence()
{
return _defence + _armor;
}
リファクタリング―プログラムの体質改善テクニック (Object Technology Series)

Comment

Comment Form
公開設定

Trackback


→ この記事にトラックバックする(FC2ブログユーザー)
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。