Re: [PATCH v7 01/17] ref-filter: implement %(if), %(then), and %(else) atoms

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

 



Karthik Nayak <karthik.188@xxxxxxxxx> writes:

>> Minor nit. I'm not sure what standard we use here at Git, but
>> traditionally, I prefer to see { } blocks on all sections even if only
>> one of them needs it. (That is, only drop the braces when every
>> section is one line.) It also looks weird with a comment since it
>> appears as multiple lines to the reader. I think the braces improve
>> readability.
>>
>> I don't know whether that's Git's code base standard or not, however.
>> It's not really worth a re-roll unless something else would need to
>> change.
>>
> I believe this is the syntax followed in Git, xdiff/xmerge.c:173 and so on.

That is a bad example for two reasons, if you mean this part:

        if ((size = file->recs[i]->size) &&
                        file->recs[i]->ptr[size - 1] == '\n')
                /* Last line; ends in LF; Is it CR/LF? */
                return size > 1 &&
                        file->recs[i]->ptr[size - 2] == '\r';
*       if (!i)
                /* The only line has no eol */
                return -1;
        /* Determine eol from second-to-last line */


What Jacob prefers is this:

---------------------------------------------
        if (cond)
                simple;
        else if (cond)
                simple;
        else
                simple;
---------------------------------------------
        if (cond) {
                simple;
        } else if (cond) {
                no;
                longer;
                simple;
        } else {
                simple;
        }
---------------------------------------------

That is, as long as all arms of if/else if/.../else cascade is
simple, {} is used nowhere in the cascade, but once even one of them
requires {} then all others gain {}.



[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]