From: Greg Couch on
On May 27, 5:22 am, HH <henri...(a)gmail.com> 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

To show another alternative, I like:

if (width == 0
and height == 0
and color == 'red'
and emphasis == 'strong'
or highlight > 100):
raise ValueError("sorry, you lose")

This works because and/or can not start an expression, so it is
obvious
that they continue the expression from the previous line. If I run
out
of room to put a full and/or clause on one line, then I'll indent the
subclause two levels.

-- Greg
From: Pete Forman on
HH <henrikho(a)gmail.com> writes:

> I have a question about best practices when it comes to line
> wrapping/ continuation and indentation, specifically in the case of
> an if statement.

There are several good suggestions for formatting but no-one has
mentioned rewriting the code. Use a boolean variable to hold the
result of the condition and then the if statement is more readable.
--
Pete Forman -./\.-
West Sussex, UK -./\.-
http://petef.22web.net -./\.-
petef4+usenet(a)gmail.com -./\.-
From: Jean-Michel Pichavant on
Pete Forman wrote:
> HH <henrikho(a)gmail.com> writes:
>
> > I have a question about best practices when it comes to line
> > wrapping/ continuation and indentation, specifically in the case of
> > an if statement.
>
> There are several good suggestions for formatting but no-one has
> mentioned rewriting the code. Use a boolean variable to hold the
> result of the condition and then the if statement is more readable.
>
It has been suggested. ;)

JM
First  |  Prev  | 
Pages: 1 2 3 4 5
Prev: type error raise
Next: Minor annoyances with properties