[Python-Dev] OT pet peeve (was: Re: str.dedent)
Nicola Larosa
nico at tekNico.net
Sun Nov 13 10:05:58 CET 2005
> Sorry, I didn't mean to mislead. I wrote "easily" - I guess using the
> current textwrap.dedent isn't really hard, but still, writing:
>
> import textwrap
> ....
>
> r = some_func(textwrap.dedent('''\
> line1
> line2'''))
>
> Seems harder to me than simply
>
> r = some_func('''\
> line1
> line2'''.dedent())
>
> This example brings up another reason why "dedent" us a method is a
> good idea: It is a common convention to indent things according to the
> last opening bracket. "dedent" as a function makes the indentation
> grow in at least 7 characters, and in 16 characters if you don't do
> "from textwrap import dedent".
It's a common convention, but a rather ugly one. It makes harder breaking
lines at 78-80 chars, and using long enough identifiers.
I find it more useful to go straight to the next line, indenting the usual
four spaces (and also separating nested stuff):
r = some_func(
textwrap.dedent(
'''\
line1
line2'''))
This style uses up more vertical space, but I find it also gives code a
clearer overall shape.
--
Nicola Larosa - nico at tekNico.net
Use of threads can be very deceptive. [...] in almost all cases they
also make debugging, testing, and maintenance vastly more difficult
and sometimes impossible.
http://java.sun.com/products/jfc/tsc/articles/threads/threads1.html#why
More information about the Python-Dev
mailing list