Refactoring to Multiple Exit Points
Functions should have only a single entry point. We all agree on that. But some people also argue that functions should have a single exit that returns the value. More people don't seem to care enough about how their functions are organized. I think that makes functions a lot more complicated than they have to be. So let's talk about function organization and how multiple exit points can help.
Source: Refactoring to Multiple Exit Points, a post by Martijn Faassen; a nice refactoring walk-through.