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...

Kopiuj
	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.