[Python-Dev] PEP 7 clarification request: braces
Nick Coghlan
ncoghlan at gmail.com
Mon Jan 2 07:02:59 CET 2012
On Mon, Jan 2, 2012 at 3:04 PM, Scott Dial
<scott+python-dev at scottdial.com> wrote:
> On 1/1/2012 11:44 PM, Nick Coghlan wrote:
>> I think it's a recipe for future maintenance hassles when someone adds
>> a second statement to one of the clauses but doesn't add the braces.
>> (The only time I consider it reasonable to leave out the braces is for
>> one liner if statements, where there's no else clause at all)
>
> Could you explain how these two cases differ with regard to maintenance?
Sure: always including K&R style braces for compound statements (even
when they aren't technically necessary) means that indentation ==
control flow, just like Python. Indent your additions correctly, and
the reader and compiler will agree on what they mean:
if (cond) {
statement;
} else {
statement;
addition; /* Reader and compiler agree this is part of the else clause */
}
if (cond)
statement;
else
statement;
addition; /* Uh-oh, should have added braces */
I've been trying to convince Benjamin that there's a reason "always
include the braces" is accepted wisdom amongst many veteran C
programmers (with some allowing an exception for one-liners), but he
isn't believing me, and I'm not going to go through and edit every
single one of his commits to add them.
Cheers,
Nick.
--
Nick Coghlan | ncoghlan at gmail.com | Brisbane, Australia
More information about the Python-Dev
mailing list