[Devel] Кодинг-стайл для Python

Devaev Maxim mdevaev на etersoft.ru
Чт Сен 30 21:44:45 MSD 2010


> Потому, что при переносе кода бывают проблемы. Не я это придумал. Это
> сказано во всех описаниях по этому вопросу:
> ...
> Разработчики языка Python говорят:
>  "Для новых проектов, строго рекомендуется использовать только пробелы
> вместо табов. Большинство редакторов имеют возможности сдлеать это
> просто."
> ...
> Думаю, что у нас список людей будет коротким. Возможно, из
> одного человека, который ведёт речь о всеобщем удобстве.
> 
> Вот вся эта полемика и навязывание тобой некого удобства только только
> ради такой возможности и делается. Кому это удобство нужно? Ты
> говоришь, что всем. Я отвечаю, что очень не многим.
Тем, кто уже привык использовать пробелы.

> А кому придётся перенастраивать редактор по сравнению с общепринятыми
> настройками? Ты говоришь, что всем. Я отвечаю, что всем это не удобно.
Никому, если мы используем табы.

Проблемы не будет, если присутствуют четкие правила при на писании кода.

> И всё это имеет смысл только для Питона. И glibc или ядро приводить в
> пример не надо.
Я к тому, что у них в коде не встречаются пробелы, потому что они
дисциплинированно пишут код. Ты хочешь использовать пробелы, потому что так
удобно тебе, чтобы ты легко копировал между гуем и консолью. И ты пытаешься
внести в стандарт то, что сформировано большей частью твоими
предпочтениями, а не PEP-8.

Кстати, не смотря на использование пробелов в гугле, их количество пробела
отличается от "стандартного" в питоне. Почему?

> Это что ещё за маргинальные предрассудки?

> Вопрос только про питон. Каков стандарт для питона в большинстве
> компаний? Правильно, пробелы.
Неверно. Правильный ответ - 50/50 в зависимости от предпочтений
руководителей и проектов.

> Суть введения стиля
> кодирования - уменьшить издержки, а не увеличить. При этом удобства
> замедляющие работу пренебрегаются правилами её ускоряющими.
Именно, потому пробелы снижают продуктивность тех, кому они не удобны.

>  - возможность просмотреть код в шесть табов, вместо четырёх, ничего не
>  ускорит;
Позволяет упросить настройку кода под себя.
>  - проблемы с перенастройкой редакторов - замедлят;
Перенастройка не требуется, если редактор имеет режим автораспознавания
кода. С другой стороны, перенастройка минимальна, поскольку мы почти не
имеем питоновских проектов, которые написали где-то снаружи, которые мы
поддерживаем. Для новых же следует использовать табы.

>  - проблемы с переделываеним табов на пробелов на табы - замедлят.
Не распарсил это предложение. Четыре строки замены - это не много.
Копипаст кода не должен служить основным методом написания оного.

> Эта возможность "подстроить под себя" число таобов на пробел нужна
> очень редко. Если задать политику, то не нужна вовсе. Это разумный
> компромисс следования общепринятым стандартам.
Хорошо, пусть будет так.
Для проектов, которые мы начинаем с нуля и которые буду вести я, мы
используем табы. В settingsd, проектах с коробочкой мы используем табы.
Остальное решай по своему усмотрению. Коммитя же в settingsd, пожалуйста,
используй табы.



Подробная информация о списке рассылки Devel