[Correct list address] Yeah, please prepare a patch. Maybe you can send it to Barry so he can check it in. I would use 4-space indent for the "Opt:" exanple at the end though. On Sat, Jun 4, 2011 at 9:03 AM, Steven Klass <sklass@pointcircle.com> wrote:
Hey Barry, You are correct - it was an artifact from the email tool.. Guido - it appears we are reaching some consensus. Thoughts? Did you want me to update the repo? Continuation lines should align wrapped elements either vertically using Python's implicit line joining inside parentheses, brackets and braces, or or using a hanging indent. When using a hanging indent the following considerations should be applied; there should be no arguments on the first line and further indentation should be used to clearly distinguish the itself as a continuation line.
Yes: # Aligned with opening delimiter foo = long_function_name(var_one, var_two, var_three, var_four) # More indentation included to distiguish this from the rest. def long_function_name( var_one, var_two, var_three, var_four): print(var_one) No: # Stuff on first line forbidden when not using vertical alignment foo = long_function_name(var_one, var_two, var_three, var_four) # Further indentation required as indentation is not distiguishable def long_function_name( var_one, var_two, var_three, var_four): print(var_one)
Opt: # Extra indentation not necessary. foo = long_function_name( var_one, var_two, var_three, var_four)
On Fri, Jun 3, 2011 at 11:09 AM, Barry Warsaw <barry@python.org> wrote:
Hi Steven,
On Jun 03, 2011, at 08:57 AM, Steven Klass wrote:
Continuation lines should align wrapped elements either vertically using Python's implicit line joining inside parentheses, brackets and braces, or or using a hanging indent. When using a hanging indent the following considerations should be applied; there should be no arguments on the first line and further indentation should be used to clearly distinguish the itself as a continuation line.
Yes: # Aligned with opening delimiter foo = long_function_name(var_one, var_two, var_three, var_four) -------------------------------------^ I'm sure that's just an email alignment bug, right?
# More indentation included to distiguish this from the rest. def long_function_name( var_one, var_two, var_three, var_four): print(var_one)
No: # Stuff on first line forbidden when not using vertical alignment foo = long_function_name(var_one, var_two, var_three, var_four)
# Further indentation required as indentation is not distiguishable def long_function_name( var_one, var_two, var_three, var_four): print(var_one)
Thoughts?
That looks great to me, thanks. I would add one more example to the 'Yes' section to cover the case we've been talking about:
# Extra indentation not necessary. foo = long_function_name( var_one, var_two, var_three, var_four)
This doesn't say that extra indentation isn't allowed, just that it's not necessary, so I think it strikes the right balance.
Cheers, -Barry
-- ---
Steven M. Klass
☎ 1 (480) 225-1112 ✉ sklass@pointcircle.com
-- --Guido van Rossum (python.org/~guido)