Who are the "spacists"?
BartC
bc at freeuk.com
Mon Mar 20 11:19:47 EDT 2017
On 20/03/2017 14:32, Chris Angelico wrote:
> On Tue, Mar 21, 2017 at 1:24 AM, BartC <bc at freeuk.com> wrote:
>> But it would be better IMO if tabs were used, with some scheme for
>> suggesting the tab width (or set of tab stops) that is recommended (eg. a
>> comment at the top).
>
> If you absolutely have to, then sure, put a directive in some
> machine-readable way at the top or bottom of the file. It's like the
> coding cookie that Python follows - some editors also respect it. But
> I would prefer to just use tabs *without* suggesting a width, because
> each one represents *one indent*. Not a number of spaces. One
> indentation level.
For leading tabs at the start of a new statement that wouldn't be a
problem. Changing the tab width shown just spreads out statements more,
or less, horizontally.
It works - there is no jarring misalignment - because each tab
corresponds to the same N spaces, whatever N happens to be.
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
--
bartc
More information about the Python-list
mailing list