Python guidelines: tabs vs spaces
От: savitar  
Дата: 03.12.10 10:24
Оценка:

For new projects, spaces-only are strongly recommended over tabs.

Кто-нибудь может объяснить почему? Можете привести объективные аргументы за?
Re: Python guidelines: tabs vs spaces
От: neFormal Россия  
Дата: 03.12.10 10:49
Оценка:
Здравствуйте, savitar, Вы писали:

S>

S>For new projects, spaces-only are strongly recommended over tabs.

S>Кто-нибудь может объяснить почему?

потому что бороться с пробельщиками утомило.. им объяснять, что стенке..
ну и ИДЕ научились табы имитировать пробелами.. (более вероятная причина)

S>Можете привести объективные аргументы за?


чтобы не наткнуться на идиота программиста, который отступы набирает пробелом по одному символу..
...coding for chaos...
Re: Python guidelines: tabs vs spaces
От: Temoto  
Дата: 03.12.10 11:23
Оценка:
S>

S>For new projects, spaces-only are strongly recommended over tabs.

S>Кто-нибудь может объяснить почему? Можете привести объективные аргументы за?

Это code style. Не может быть никаких объективных аргументов. Просто нужно чтобы все писали одинаково. Вот у этого одинаково есть объективные аргументы за. А какой именно стиль выбирать — неважно.
Re[2]: Python guidelines: tabs vs spaces
От: neFormal Россия  
Дата: 03.12.10 14:15
Оценка:
Здравствуйте, Temoto, Вы писали:

T>Это code style. Не может быть никаких объективных аргументов. Просто нужно чтобы все писали одинаково. Вот у этого одинаково есть объективные аргументы за. А какой именно стиль выбирать — неважно.


помнится раньше Гвидо ратовал за табы.. и вот такая перемена в мировоззрении..
...coding for chaos...
Re[3]: Python guidelines: tabs vs spaces
От: Temoto  
Дата: 03.12.10 14:26
Оценка: +2
T>>Это code style. Не может быть никаких объективных аргументов. Просто нужно чтобы все писали одинаково. Вот у этого одинаково есть объективные аргументы за. А какой именно стиль выбирать — неважно.

F>помнится раньше Гвидо ратовал за табы.. и вот такая перемена в мировоззрении..


Очень жаль, что его переубедили.
Re[2]: Python guidelines: tabs vs spaces
От: telek1024  
Дата: 03.12.10 14:27
Оценка:
Здравствуйте, Temoto, Вы писали:

S>>

S>>For new projects, spaces-only are strongly recommended over tabs.

S>>Кто-нибудь может объяснить почему? Можете привести объективные аргументы за?

T>Это code style. Не может быть никаких объективных аргументов. Просто нужно чтобы все писали одинаково. Вот у этого одинаково есть объективные аргументы за. А какой именно стиль выбирать — неважно.


В том-то и дело, что я на python.org встречал рекомендацию делать отступы табами. http://www.python.org/dev/peps/pep-0008/ в секции Code lay-out осталось упоминание:

For really old code that you don't want to mess up, you can continue to use 8-space tabs.


А теперь решили в пробелы удариться.
Re[3]: Python guidelines: tabs vs spaces
От: Temoto  
Дата: 03.12.10 14:31
Оценка:
S>>>

S>>>For new projects, spaces-only are strongly recommended over tabs.

S>>>Кто-нибудь может объяснить почему? Можете привести объективные аргументы за?

T>>Это code style. Не может быть никаких объективных аргументов. Просто нужно чтобы все писали одинаково. Вот у этого одинаково есть объективные аргументы за. А какой именно стиль выбирать — неважно.


T>В том-то и дело, что я на python.org встречал рекомендацию делать отступы табами. http://www.python.org/dev/peps/pep-0008/ в секции Code lay-out осталось упоминание:


T>

T>For really old code that you don't want to mess up, you can continue to use 8-space tabs.


T> А теперь решили в пробелы удариться.


Это просто common sense: если в проекте используются табы, нужно писать табы, если используются пробелы — нужно писать пробелы, неважно really old или два месяца проекту.

А теперь изменилась рекомендация. Хорошо, теперь мы все об этом знаем. Честно, я не вижу что тут можно обсуждать.
Re: Python guidelines: tabs vs spaces
От: jazzer Россия Skype: enerjazzer
Дата: 04.12.10 04:12
Оценка: 4 (3) :)
Здравствуйте, savitar, Вы писали:

S>

S>For new projects, spaces-only are strongly recommended over tabs.

S>Кто-нибудь может объяснить почему? Можете привести объективные аргументы за?

1. Питон — это интерпретируемый язык. Т.е. ты можешь запустить интерпретатор и просто копи-пейстом вставлять в него код из другого исходника.
2. В интерпретаторе табуляция зарезервирована под автокомплит.


То же относися к другим скриптовым языкам, bash, например. Табуляция в коде, который ты бросаешь в терминал, приводит к разным веселым звуковым и визуальным эффектам, особенно если ее много.
jazzer (Skype: enerjazzer) Ночная тема для RSDN
Автор: jazzer
Дата: 26.11.09

You will always get what you always got
  If you always do  what you always did
Re[2]: Python guidelines: tabs vs spaces
От: savitar  
Дата: 04.12.10 09:07
Оценка:
Здравствуйте, jazzer, Вы писали:

J>1. Питон — это интерпретируемый язык. Т.е. ты можешь запустить интерпретатор и просто копи-пейстом вставлять в него код из другого исходника.

Т.е. если там будут табы то работать не будет?
J>2. В интерпретаторе табуляция зарезервирована под автокомплит.
Не понял, можно чуть подробнее.
Re[3]: Python guidelines: tabs vs spaces
От: jazzer Россия Skype: enerjazzer
Дата: 04.12.10 09:16
Оценка: 2 (1)
Здравствуйте, savitar, Вы писали:

S>Здравствуйте, jazzer, Вы писали:


J>>1. Питон — это интерпретируемый язык. Т.е. ты можешь запустить интерпретатор и просто копи-пейстом вставлять в него код из другого исходника.

S>Т.е. если там будут табы то работать не будет?
J>>2. В интерпретаторе табуляция зарезервирована под автокомплит.
S>Не понял, можно чуть подробнее.
Ну вот у тебя в тексте есть табуляция
когда ты копируешь этот текст в интерпретатор, у тебя там не появляется отступа, а вместо этого появляется список доступных в этом скопе имен (т.е. автокомплит).
после чего он начинает воспринимать следующие буквы копируемого текста, но уже в контексте выбора из списка автокомплита, что совсем не то, что тебе нужно — мало ли какие там имена у тебя в этой сессии интерпретатора. Ну и так далее.
jazzer (Skype: enerjazzer) Ночная тема для RSDN
Автор: jazzer
Дата: 26.11.09

You will always get what you always got
  If you always do  what you always did
Re: Python guidelines: tabs vs spaces
От: IROV..  
Дата: 04.12.10 12:51
Оценка:
Здравствуйте, savitar, Вы писали:

S>

S>For new projects, spaces-only are strongly recommended over tabs.

S>Кто-нибудь может объяснить почему? Можете привести объективные аргументы за?

Я неделю назад задал этот вопрос программисту (сам начал писать на питоне), он ответил очень лаконично, постараюсь дословно

"что бы когда я приходил к конченым дизайнерам и художниками, я в notepade мог смотреть на код"

в нотепаде табы сильно большие

грубо говоря N пробелов это всегда N пробелов.
я не волшебник, я только учусь!
Re[3]: Python guidelines: tabs vs spaces
От: DSblizzard Россия  
Дата: 06.12.10 04:48
Оценка: :)
Здравствуйте, savitar, Вы писали:

S>Здравствуйте, jazzer, Вы писали:


J>>1. Питон — это интерпретируемый язык. Т.е. ты можешь запустить интерпретатор и просто копи-пейстом вставлять в него код из другого исходника.

S>Т.е. если там будут табы то работать не будет?
Будет. Не помню, где и что изменил для этого, попробуй покопаться в
Иконка cmd или Питона в левом верхнем углу консоли -> "Умолчания" или "Свойства" (изменения сработают после перезапуска).
Программировать сложно. Но не программировать еще сложнее.
Re[4]: Python guidelines: tabs vs spaces
От: DSblizzard Россия  
Дата: 06.12.10 04:56
Оценка:
Совсем забыл. Это для Винды рекомендация.
Программировать сложно. Но не программировать еще сложнее.
Re: Python guidelines: tabs vs spaces
От: Кодёнок  
Дата: 06.12.10 07:35
Оценка: 2 (2) +1 -1
Здравствуйте, savitar, Вы писали:

S>For new projects, spaces-only are strongly recommended over tabs.

S>Кто-нибудь может объяснить почему? Можете привести объективные аргументы за?

Каждый редактор и вьюер по-своему отображает табы, еще и конвертирует многда при сохранении. Рано или поздно все равно выйдет месиво. Еще при удалении символов зажиманием бекспейса табы исчезают целыми строками очень уж неожиданно — контринтуитивно.

За табы ратуют те, кто сидят на юниксах в редакторах 80-х годов. Видимо Гвидо поставил себе что-то нормальное и внезапно понял истину

Вот бы уничтожить еще одно недоразумение из прошлого века — CR+LF.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.