Re: [PATCH/RFC] Documenation update: use of braces in if/else if/else chain

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

 



On Sun, Jun 10, 2012 at 4:22 PM, Jonathan Nieder <jrnieder@xxxxxxxxx> wrote:
> Also true.  But:
>
>        /* correct */
>        if (bla) {
>                x = 1;
>                ...
>        } else
>                x = 2;
>

According to a discussion on my patch, this was cited (not in ref to my code):
Junio C Hamano <gitster@xxxxxxxxx> a écrit :

Two points on style (also appear elsewhere in this patch):

       if (!"applying") {
               ...
       } else {
               state->rebase_in_progress = 1;
       }

 - "else" comes on the same line as closing "}" of its "if" block;

 - if one of if/else if/else chain has multiple statement block, use {}
  even for a single statement block in the chain.


So I opened this documentation patch to gain consensus around this
issue, and update the docs accordingly. Depending on the agreement
reached, I can modify the wording of the patch. I don't need to site
the linux Kernel part, I can just say what is supported in this
project.


I think we should still keep this part of the patch:

+    And "else"
+   should come on the same line as the closing "}" of its "if" block.


> And:
>
> If you have a long "if" with a one-line "else", consider whether you
> are needlessly keeping the reader in suspense about something simple.
> It might be more pleasant to read with the exceptional case up front:
>
>        if (!bla) {
>                x = 2;
>        } else {
>                x = 1;
>                ...
>        }
>
> This is especially true when the exceptional case returns or exits.
>
>        if (bla && no_bla)
>                return error("--blah and --no-blah cannot be used together");
>        x = 1;
>        ...

Agreed!

Thanks,
Leila
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]