[llvm-dev] Codifying our Brace rules-

David Blaikie via llvm-dev llvm-dev at lists.llvm.org
Mon Jun 22 13:59:16 PDT 2020


On Mon, Jun 22, 2020 at 1:36 PM Steve Scalpone via llvm-dev
<llvm-dev at lists.llvm.org> wrote:
>
> Did this conversation reach a conclusion?
>
> My ad hoc tally says that a slight majority of the responders preferred to fully brace statements and no one wanted to totally eliminate braces.
>
> The technical arguments for fully braced statements were 1) it's considered a slightly safer coding style and 2) commit diffs with fully braced statements may be slightly more to the point.
>
> I didn't register any technical arguments for less-than-fully-braced statement -- the preference seemed to be aesthetic.  I may have missed a technical argument.

Probably because it's the status quo, not because there aren't such arguments.

The most common one is probably "shorter vertical real estate" so you
can see more code on one screen/page/etc.

> Certainly an "always use braces" rule would be simpler than what's documented now in the LLVM Coding Standards [1].

& make a lot of LLVM code non-compliant, so another one of those
awkward migration things like naming convention changes.

> Another option would be to make braces a developer's choice, and ask that those omitting braces please follow the rules documented in [1].

Making code awkwardly inconsistent based on which bits of the code
were written by whom - I don't think that'd be ideal. Make for some
cognitive dissonance while reading code - you read a few lines written
one way, then switch, etc.

> [1] https://llvm.org/docs/CodingStandards.html#don-t-use-braces-on-simple-single-statement-bodies-of-if-else-loop-statements
>
> On 6/18/20, 3:56 AM, "llvm-dev on behalf of Nicolai Hähnle via llvm-dev" <llvm-dev-bounces at lists.llvm.org on behalf of llvm-dev at lists.llvm.org> wrote:
>
>     External email: Use caution opening links or attachments
>
>
>     On Tue, Jun 16, 2020 at 10:35 AM Momchil Velikov via llvm-dev
>     <llvm-dev at lists.llvm.org> wrote:
>     > My 2 pennies is braces add unnecessary clutter and impair readability when
>     > used on a *single-line* statement. I count comments, that are on their
>     > own line as statement(s).
>
>     +1 for this. I think braces around single-line statements can be
>     allowed, but they really shouldn't be mandated, and that's been my
>     personal policy for reviews. In particular,
>
>       if (!is_transform_applicable) {
>         return {};
>       }
>
>     is very aggravating clutter.
>
>     Braces should be required around multi-line statements. Note:
>
>     BAD:
>       for (...)
>         for (...)
>           single_line_statement;
>
>     GOOD:
>       for (...) {
>         for (...)
>           single_line_statement;
>       }
>
>     Cheers,
>     Nicolai
>     --
>     Lerne, wie die Welt wirklich ist,
>     aber vergiss niemals, wie sie sein sollte.
>     _______________________________________________
>     LLVM Developers mailing list
>     llvm-dev at lists.llvm.org
>     https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev


More information about the llvm-dev mailing list