>Hi everybody,
>
>I am wondering what are good ways of avoiding multiple return points and yet not being caught in multiple if /else complex logic.
>
>Is it OK to return early? I think in C# it's a normal practice, but what if I need to format output? E.g. at the bottom of each method I have
>
>String returnMessage = Base.GetReturnString(errorValue, statusCode, messageText);
> Logging.Log("Returning " + returnMessage, 2);
>
> return returnMessage;
>
>So, should I put these 3 lines in its own method and just do
>
>return LogAndReturn(errorValue, statusCode, messageText);
>
>every time I need to exit the procedure earlier?
If your code checks for a bunch of conditions at the start and exits early when one of them fails, that makes the real heart of the code easier to follow. No need to artificially indent the heart of the code.