Re: condingstyle, was Re: utrace comments

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

 



David Howells <[email protected]> writes:

> Eric W. Biederman <[email protected]> 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 [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux