Who are the "spacists"?
Chris Angelico
rosuav at gmail.com
Mon Mar 20 11:32:55 EDT 2017
On Tue, Mar 21, 2017 at 2:19 AM, BartC <bc at freeuk.com> wrote:
> But tabs are also used after statements, before comments for example, or to
> line up elements in tables. Then it doesn't work, because tabs may represent
> 1 to N spaces:
>
> Using N=4, with 1 tab before each number:
>
> (one, 1), #comment 1
> (two, 2), #comment 2
> (three, 3), #comment 3
>
> Displayed using N=3:
>
> (one, 1), #comment 1
> (two, 2), #comment 2
> (three, 3), #comment 3
>
> Displayed using N=6:
>
> (one, 1), #comment 1
> (two, 2), #comment 2
> (three, 3), #comment 3
>
> Even tabs at the start of a line are sometimes using to line things up with
> a previous line; here with N=4, and 5 tabs before B and C:
>
> longfunctionname ( A, #comment 1
> B, #comment 2
> C) #comment 3
>
> With N=2:
>
> longfunctionname ( A, #comment 1
> B, #comment 2
> C) #comment 3
>
> With N=8:
>
> longfunctionname ( A, #comment 1
> B, #comment 2
> C) #comment 3
My points here are the same as for the other examples:
1) Preferably, don't do it at all.
2) If you absolutely have to do it, then by definition you're counting
character slots, so use spaces, not tabs.
Note that PEP 8 specifically forbids one of these kinds of usages:
"""
More than one space around an assignment (or other) operator to align
it with another.
Yes:
x = 1
y = 2
long_variable = 3
No:
x = 1
y = 2
long_variable = 3
"""
The reasoning behind this also applies to most of the other forms:
you're fiddling with formatting in ways that have to be forever
fiddled with as you make edits.
Here's a suggestion: Use a single tab after a statement and before the
hash. Exactly one tab. Then configure your editor to right-align that.
If someone else's editor doesn't right-align, no big deal, and you'll
get some measure of alignment anyway (eg if tabs are every eight
spaces, it rounds the alignment off to the next eight-mark); it won't
hurt anything, as those of us who don't care about the alignment won't
be bothered anyway.
ChrisA
More information about the Python-list
mailing list