В хорошо написанном коде вы должны быть в состоянии четко следить за потоком не только от начала до конца, но и от конца к началу (если не существует фатальной ошибки, в этом случае ваш обработчик должен иметь вывод обратной трассировки). Следуйте правилу одного входа и одного выхода для каждой функции .
Один из способов избежать спагетти-кода - убедиться, что оператор return является самой последней вещью, которую вы пишете в функции, и что у вас никогда не будет возврата раньше этого.
Если функция возвращает неожиданное значение, чистый код позволит вам начать с оператора return и работать в обратном направлении, чтобы увидеть, где он получил свое значение. Однако, если код спагетти, то примерно половину времени вы будете тратить часы, ломая голову над тем, как функция может возвращать это значение, пока вы не наткнетесь на второй оператор возврата, скрытый в середине функции.
Я категорически не согласен с утверждениями Клито и Андомара о том, что это все субъективно. Оператор возврата в середине вашей функции - это явно спагетти-код.