According to the Appendix in the manual on Contributing to Octave,
"Avoid comma expressions, labels and gotos, and explicit typecasts. If you need
to typecast, use the modern C++ casting operators. In functions, minimize the
number of return statements—use nested if statements if possible."
Which do we dislike more: goto statements or return from the middle of a
function?
I ask because I count 134 uses of goto in liboctave. I think most of these
can be avoided now that the error_handler routine no longer returns. The
others could probably be removed if we used return rather than goto in the
middle of a function.
I personally dislike goto more than return and would remove it, but maybe
there is a consensus in the other direction.
--Rik
If we accept that none of them is the programming attitude to be followed, then there is only one right answer: refactor the whole function.