Re: Multiple return statements in a function.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



"tedd" <tedd.sperling@xxxxxxxxx> wrote in message 
news:p06240805c6161613a715@[192.168.1.101]...
> At 8:12 AM -0400 4/23/09, Peter van der Does wrote:
>>I tend to put my return value in a variable and at the end of the
>>function I have 1 return statement.
>>I have seen others doing returns in the middle of the function.
>>
>>-snip-
>>
>>What is your take? And is there any benefit to either method?
>>
>>Peter van der Does
>
> Peter:
>
> It's called "Structured programming" -- one way in and one way out of a 
> function.
>
> There are, of course, exceptions where it might help others reviewing your 
> code to see what's going on, such as returning a null value if the 
> argument(s) provided are not suitable. But normally the rule is, do not 
> provide an exit from a function in more than one place.

There is no such "rule", it is a matter of personal preference. As a 
previous poster has already said, if you want to leave a function early and 
ignore all subsequent processing it is easier to understand if you return 
immediately rather than have a mechanism to jump over the remaining code to 
a single return point. In the good old days we used to use the GOTO in COBOL 
to jump to the exit point, but then people found a way to abuse GOTO in very 
imaginatve ways.

> The "benefit" is easier to read code.

I think that an immediate return is easier to read, but what do I know - 
I've only been programming for 30 years.

-- 
Tony Marston
http://www.tonymarston.net
http://www.radicore.org

> Cheers,
>
> tedd
>
> -- 
> -------
> http://sperling.com  http://ancientstones.com  http://earthstones.com 



-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux