Re: condingstyle, was Re: utrace comments
From: Eric W. Biederman
Date: Wed May 02 2007 - 07:56:46 EST
David Howells <dhowells@xxxxxxxxxx> writes:
> Eric W. Biederman <ebiederm@xxxxxxxxxxxx> 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@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/