Тема: Быдлокод?
Показать сообщение отдельно
Старый 26.11.2010, 15:17
orcpochta вне форума Посмотреть профиль Отправить личное сообщение для orcpochta Найти все сообщения от orcpochta
  № 66  
Ответить с цитированием
orcpochta

Регистрация: Feb 2008
Сообщений: 890
А вот как кто поступает в таких случаях?

Вариант 1:
Код AS3:
function someFunction():Object
{
	if (...)
	{
		if (...)
		{
			if (...) return obj;			
		}
	}
 
	return null;
}
Вариант 2:
Код AS3:
function someFunction():Object
{
	if (...)
	{
		if (...)
		{
			if (...) return obj;			
			else return null;
		}
		else return null;
	}	
	else return null;
}
Первый вариант приятней читать - нет грязи, в нем нет дублирующегося кода - все вроде четко, ясно и аккуратно, но (!) второй вариант по идее должен работать быстрее, т.к. возврат из ф-ии происходит в "точке ясности" (назову это так) - т.е. если в первом варианте мы дошли до вложенного if-a и не вернули в итоге obj, то нам придется проделать весь путь обратно по стеку вложенности до единственного return null, а во втором варианте выброс происходит сразу без обратного пути, хотя внешне код, конечно, выглядит ужасно)))
__________________
скриптограф