А вот как кто поступает в таких случаях?
Вариант 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, а во втором варианте выброс происходит сразу без обратного пути, хотя внешне код, конечно, выглядит ужасно)))