MRAB wrote:
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?

I would probably use half-indentation:

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

Try doing that with tabs! :-)

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

Try doing this with spaces !! :p

JM
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to