Wiem, że ten przykład jest brzydki ale chodzi o pokazanie błędnego scopingu który uniemożliwia sensowną refaktoryzację.
http://pastebin.com/RQztfqii - tutaj macie realny kod gdzie przez to, że number, toDelete i końcówka...
if( !usingDeed )
{
CraftContext context = m_CraftSystem.GetContext( from );
from.SendGump( new CraftGump( from, m_CraftSystem, m_Tool, number ) );
}
else if( toDelete )
{
from.SendLocalizedMessage( number );
m_Deed.Delete();
}
... są poza poszczególnymi przypadkami prowadzi do tego, że przy próbie wyizolowania mniejszych metod dostaniemy 10 argumentów i musimy zwrócić dwie informacje.