harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Oliver Deakin <oliver.dea...@googlemail.com>
Subject Re: Idiomatic Java: inverted conditions
Date Tue, 27 Oct 2009 10:02:30 GMT
Jesse Wilson wrote:
> Harmony Team,
>
> Continuing along with a theme, there's another C/C++ism in our Java code
> that frustrates me. Our Java code frequently inverts conditions from their
> natural language form. From HttpURLConnectionImpl:
>
>             if (null == resHeader) {
>
>                 resHeader = new Header();
>
>             }
>
>
> ...or even more surprising, from HttpURLConnection:
>
>         if (0 < chunkLength) {
>
>             throw new IllegalStateException(Msg.getString("KA003"));
>
>         }
>
>
> I find myself having to slow down to interpret what the code intends. I
> can't mentally parse "if 0 is less-than chunkLength" nearly as efficiently
> as the equivalent "if chunkLength is greater than 0" condition. From a quick
> survey of the code base, it looks like we use a mix of the two forms.
>
> If anyone thinks I should avoid flipping of these conditionals back to their
> normal form, please let me know. In my logging patch, I flipped several
> "null == foo" checks and I found it made the code easier to read.
>   

+1 to making these changes - increasing readability helps everyone to 
work in the codebase and there is no need for these inverted conditions.

Regards,
Oliver

> Thanks,
> Jesse
>
>   

-- 
Oliver Deakin
Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number 741598. 
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU


Mime
View raw message