cloudstack-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Gabor Apati-Nagy <gabor.apati-n...@citrix.com>
Subject RE: Coding Standards Questions
Date Mon, 14 Apr 2014 10:58:34 GMT
To my mind having multiple return statements might be unclear sometimes, but personally I do
prefer this option. In this case we can easily make sure that the return value is not going
to be changed. If we know the result, let's return it asap. If we reach a return statement
anywhere, we can be sure that the right value is returned there is no need to double check
further code in the method (except when exception can be raised by the return itself).

If we had only one return at the end of the method, it almost always adds more complexity
(needs if/else blocks, maybe nested ones..., breaks for loops) The compiler checks for code
paths that do not return before reaching the end of the method, this check is almost useless
if we have one return at the end of the method.

Regards,
Gabor


-----Original Message-----
From: Stephen Turner [mailto:Stephen.Turner@citrix.com] 
Sent: 14 April 2014 10:35
To: dev@cloudstack.apache.org
Subject: RE: Coding Standards Questions

I agree that pulling the return value out into a variable and returning it at the end can
be clearer, but I wouldn't want to make an absolute rule about it. Sometimes returning early
can reduce the number of nested if/else statements and increase clarity. For example, I would
rather see:

public int getNumberOfWidgets(Foo input) {
    if (input == null)
      return -1;

    int ret;
    // 30 lines of computation
    return ret;
}

than put the bulk of the function in an else block. But maybe others disagree?

-- 
Stephen Turner


-----Original Message-----
From: Alex Hitchins [mailto:alex@alexhitchins.com] 
Sent: 11 April 2014 21:45
To: dev@cloudstack.apache.org
Subject: RE: Coding Standards Questions

Daan,

Are you referring to keeping line lengths up to 80 characters? Sorry - tired eyes.

My thoughts were more that in a function there should only be one "return"
statement rather than many, all nested in layers of if/else statements.


Alex Hitchins | 07788 423 969 | 01892 523 587
---------------------------------------------

-----Original Message-----
From: Daan Hoogland [mailto:daan.hoogland@gmail.com]
Sent: 11 April 2014 18:30
To: dev
Subject: Re: Coding Standards Questions

H Alex,

I agree with you that would be nicer if your function fits in a screen.
Another coding convention we should adhere to. As it is I think it not so much 'not a major
concern' as too much to ask for.
Feel free to refactor and submit patches;)

Daan

On Fri, Apr 11, 2014 at 9:54 AM, Alex Hitchins <alex@alexhitchins.com>
wrote:
> All,
>
>
>
> As I've been looking through the code, I've seen a fair number of 
> places where return statements are called within if statements and the 
> like. I've always found that having one place to return is easier to 
> debug and follow the code flow.
>
>
>
> Are there any guidelines on this? Or is it not a major concern?
>
>
>
> Thanks,
>
>
>
> Alex
>
>
>
>
>
>
>
> Alex Hitchins
>
> ------------------------------
>
> E: alex@alexhitchins.com
>
> W: alexhitchins.com
>
> M: 07788 423 969
>
> T: 01892 523 587
>
>
>



--
Daan


Mime
View raw message