2009-11-26 09:27:18

by Uwe Kleine-König

[permalink] [raw]
Subject: [PATCH RFC] Codingstyle: allow omitting braces for all single statement branches

Grepping for "} else$" in v2.6.32-rc8 yields 6440 hits. So this seems
to be common practice and should be allowed. checkpatch doesn't warn
about both variants.

Signed-off-by: Uwe Kleine-König <[email protected]>
Cc: Junio C Hamano <[email protected]>
Cc: Randy Dunlap <[email protected]>
Cc: Teemu Likonen <[email protected]>
Cc: Jiri Kosina <[email protected]>
Cc: Dan Carpenter <[email protected]>
Cc: Martin Olsson <[email protected]>
Cc: [email protected]
---
Documentation/CodingStyle | 26 +++++++++++++++++---------
1 files changed, 17 insertions(+), 9 deletions(-)

diff --git a/Documentation/CodingStyle b/Documentation/CodingStyle
index 8bb3723..84563c6 100644
--- a/Documentation/CodingStyle
+++ b/Documentation/CodingStyle
@@ -168,15 +168,23 @@ Do not unnecessarily use braces where a single statement will do.
if (condition)
action();

-This does not apply if one branch of a conditional statement is a single
-statement. Use braces in both branches.
-
-if (condition) {
- do_this();
- do_that();
-} else {
- otherwise();
-}
+If not all branches of a conditional statement are single statements you might
+use braces for both branches.
+
+ if (condition) {
+ do_this();
+ do_that();
+ } else
+ otherwise();
+
+or
+
+ if (condition) {
+ do_this();
+ do_that();
+ } else {
+ otherwise();
+ }

3.1: Spaces

--
1.6.5.2


2009-11-26 14:53:16

by Peter Zijlstra

[permalink] [raw]
Subject: Re: [PATCH RFC] Codingstyle: allow omitting braces for all single statement branches

On Thu, 2009-11-26 at 10:26 +0100, Uwe Kleine-König wrote:

> -This does not apply if one branch of a conditional statement is a single
> -statement. Use braces in both branches.
> -
> -if (condition) {
> - do_this();
> - do_that();
> -} else {
> - otherwise();
> -}
> +If not all branches of a conditional statement are single statements you might
> +use braces for both branches.
> +
> + if (condition) {
> + do_this();
> + do_that();
> + } else
> + otherwise();
> +
> +or
> +
> + if (condition) {
> + do_this();
> + do_that();
> + } else {
> + otherwise();
> + }
>
> 3.1: Spaces

Andrew recently objected to this pattern, and I tend to agree with him
although I might be guilty of a few such cases myself.

2009-11-26 16:12:01

by Stefan Richter

[permalink] [raw]
Subject: Re: [PATCH RFC] Codingstyle: allow omitting braces for all single statement branches

Uwe Kleine-König wrote:
> Grepping for "} else$" in v2.6.32-rc8 yields 6440 hits. So this seems
> to be common practice and should be allowed.

Flawed reasoning. Is this in new and otherwise stylistically
well-written code? Or did you perhaps grep in old code or even in staging?

> checkpatch doesn't warn about both variants.

What checkpatch does/ can do, or doesn't, is only indirectly related to
good style or canonical style.

> --- a/Documentation/CodingStyle
> +++ b/Documentation/CodingStyle
> @@ -168,15 +168,23 @@ Do not unnecessarily use braces where a single statement will do.
> if (condition)
> action();
>
> -This does not apply if one branch of a conditional statement is a single
> -statement. Use braces in both branches.
> -
> -if (condition) {
> - do_this();
> - do_that();
> -} else {
> - otherwise();
> -}
> +If not all branches of a conditional statement are single statements you might
> +use braces for both branches.
> +
> + if (condition) {
> + do_this();
> + do_that();
> + } else
> + otherwise();
> +
> +or
> +
> + if (condition) {
> + do_this();
> + do_that();
> + } else {
> + otherwise();
> + }
>
> 3.1: Spaces
>

Either don't remove the existing paragraph, or remove it --- but do not
add your new either-or paragraph. If you consider both variants to be
OK, you don't need to bloat the style guide by documenting them both.
There is no third or fourth alternative.
--
Stefan Richter
-=====-==--= =-== ==-=-
http://arcgraph.de/sr/