On 20/08/2020 22:20, Alexander Strasser wrote:
Please pardon me for bringing this up in the context of this patch.
No objections or particular opinion regarding this instance of the
problem.

Though thinking more globally, I believe it would have a beneficial
impact to add the curly braces everywhere; even where they would not
be required because of the one-statement exception.

It might be a bit longer regarding vertical space consumption, but
I'm sure the advantages would outweigh this disadvantage over time.
Also because we don't put the opening brace on a line of its own,
it would not consume so much more vertical space.

Advantages I see are:

1. enables easier experimentation and debugging

In my opinion this is not a significant benefit, the overhead of any edits 
while doing this is trivial.  (Others may disagree, but it seems worth noting 
which parts I agree with.)

2. future changes are easier to write and create smaller diffs

I agree that this is a point in favour.

3. completely eliminates dangling-else problems

I think this is irrelevant, because compilers have already solved it:

$ cat test-dangling-else.c

int f(int a, int b)
{
    if (a)
        if (b)
            return 1;
      else
          return 2;

    return 0;
}
$ gcc -c -Wall test-dangling-else.c
test-dangling-else.c: In function ‘f’:
test-dangling-else.c:4:8: warning: suggest explicit braces to avoid ambiguous 
‘else’ [-Wdangling-else]
    4 |     if (a)
      |        ^



Just wanted to hear how other developers currently feel about this.

The freeform nature of C is often helpful to make code look nicer and such a 
requirement would make some useful patterns worse, so I oppose such a change.

To offer an example, consider the commonish code pattern:

if      (a) p = x;
else if (b) q = y;
else if (c) r = z;

with some alignment of related subexpressions.  Making uniform use of braces 
and newlines mandatory makes this actively worse however you do it.

(Some randomly-chosen similar examples: 
<http://git.videolan.org/?p=ffmpeg.git;a=blob;f=libavcodec/mpegaudiodsp_template.c;h=e531f8a904b14ad2f5cc6e59ad608bfe64b50065;hb=HEAD#l236>,
 
<http://git.videolan.org/?p=ffmpeg.git;a=blob;f=libavcodec/error_resilience.c;h=ca2287198be69505a03f12dcbe9cff2b485de769;hb=HEAD#l465>.)

- Mark
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to