On 05/27/10 13:22, HH wrote:
I have a question about best practices when it comes to line wrapping/
continuation and indentation, specifically in the case of an if
statement.
When I write an if statement with many conditions, I prefer to use a
parenthesis around the whole block and get the implicit continuation,
rather than ending each line with an escape character. Thus, using
the example from the style guide (http://www.python.org/dev/peps/
pep-0008/) I would write:
if (width == 0 and
height == 0 and
color == 'red' and
emphasis == 'strong' or
highlight> 100):
raise ValueError("sorry, you lose")
The problem should be obvious -- it's not easy to see where the
conditional ends and the statement begins since they have the same
indentation. Part of the problem, I suppose, is that Emacs indents
'height' and the other lines in the conditional to 4 spaces (because
of the parenthesis). How do people deal with this situation?
Thanks,
Henrik
Well style guide aside (if pylint is happy with it, so am I) it depends
on what I want to emphasize.
For example if it is really one long line with every item in it being
equally important I do this:
if width == 0 and height == 0 and color == 'red' and emphasis ==
'strong' \
or
highlight > 100:
raise ValueError("sorry, you lose")
In case it doesn't display correctly, I break up the line to nearest
80th character and align the remaining part on the next line to the
right to the 80th character.
If I want to emphasize visually a certain part I would do something like
this:
if width == 0 and height == 0 and color == 'red' \
and emphasis == 'strong' or highlight > 100:
raise ValueError("sorry, you lose")
But these are my preference, and since it is most likely that I have to
read again what I have written I write it in a way that it is most
readable to me within the constraints of pylint.
--
mph
--
http://mail.python.org/mailman/listinfo/python-list