Reading Notes: Single-Entry, Single-Exit
It is remarkable that almost half a century after Dijkstra’s goto article, and however copiously and reverently it may be cited, today’s programs (other than in Eiffel) are still an orgy of gotos. There are not called gotos, being described as constructs that break out of a loop or exit a routine in multiple places, but they are gotos all the same. Multiple routine exits are particularly bad since they are in effect interprocedural gotos.
Ian Joyner has just released a simple and cogent summary of why routines should always have one entry and one exit.
References
[1] Ian Joyner: Single-entry, single-exit (SESE) heuristic, available here.