Prev: type error raise
Next: Minor annoyances with properties
From: Greg Couch on 8 Jun 2010 01:36 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 9 Jun 2010 12:27 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 9 Jun 2010 12:53
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 |