[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <m1fy6fxwx5.fsf@ebiederm.dsl.xmission.com>
Date: Wed, 02 May 2007 05:55:02 -0600
From: ebiederm@...ssion.com (Eric W. Biederman)
To: David Howells <dhowells@...hat.com>
Cc: "John Anthony Kazos Jr." <jakj@...-k-j.com>,
David Woodhouse <dwmw2@...radead.org>,
Geert Uytterhoeven <geert@...ux-m68k.org>,
Satyam Sharma <satyam.sharma@...il.com>,
Andrew Morton <akpm@...ux-foundation.org>,
Christoph Hellwig <hch@...radead.org>,
Roland McGrath <roland@...hat.com>,
Christoph Hellwig <hch@....de>, linux-kernel@...r.kernel.org,
linux-arch@...r.kernel.org
Subject: Re: condingstyle, was Re: utrace comments
David Howells <dhowells@...hat.com> writes:
> Eric W. Biederman <ebiederm@...ssion.com> wrote:
>
>> Not lining up with the code following the if statement is also
>> a plus. Because it clearly delineates the conditions from the code.
>
> But the condition doesn't line up with the code:
Exactly. The condition not lining up with the following code helps
code helps separate the two.
> if (veryverylengthycondition1 &&
> smallcond2 &&
> (conditionnumber3a ||
> condition3b)) {
> this_is_some_code();
> this_is_some_more_code();
> }
>
> Personally, for complicated conditions like this, I prefer:
>
> if (veryverylengthycondition1 &&
> smallcond2 &&
> (conditionnumber3a ||
> condition3b)
> ) {
> this_is_some_code();
> this_is_some_more_code();
> }
>
> But that seems to offend Andrew for some reason (or was it Christoph? or
> both?).
Yes.
Although I suspect simply not tucking the trailing brace is as
good or better. I believe not putting the beginning brace at
the beginning of the line is a violation of coding style.
if (veryverylengthycondition1 &&
smallcond2 &&
(conditionnumber3a ||
condition3b))
{
this_is_some_code();
this_is_some_more_code();
}
However there is the practical way to solve this if you have
a sufficiently large conditional, or the conditional appears
several times.
static inline int test_func()
{
if (!veryverylengthycondition1)
return 0;
if (!smallcond2)
return 0;
if (conditionnumber3A)
return 1;
if (condition3b)
return 1;
return 0;
}
if (test_func()) {
this_is_some_code();
this_is_some_more_code();
}
Eric
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists