[Devel] Кодинг-стайл для Python
Devaev Maxim
mdevaev на etersoft.ru
Чт Сен 30 21:44:45 MSD 2010
> Потому, что при переносе кода бывают проблемы. Не я это придумал. Это
> сказано во всех описаниях по этому вопросу:
> ...
> Разработчики языка Python говорят:
> "Для новых проектов, строго рекомендуется использовать только пробелы
> вместо табов. Большинство редакторов имеют возможности сдлеать это
> просто."
> ...
> Думаю, что у нас список людей будет коротким. Возможно, из
> одного человека, который ведёт речь о всеобщем удобстве.
>
> Вот вся эта полемика и навязывание тобой некого удобства только только
> ради такой возможности и делается. Кому это удобство нужно? Ты
> говоришь, что всем. Я отвечаю, что очень не многим.
Тем, кто уже привык использовать пробелы.
> А кому придётся перенастраивать редактор по сравнению с общепринятыми
> настройками? Ты говоришь, что всем. Я отвечаю, что всем это не удобно.
Никому, если мы используем табы.
Проблемы не будет, если присутствуют четкие правила при на писании кода.
> И всё это имеет смысл только для Питона. И glibc или ядро приводить в
> пример не надо.
Я к тому, что у них в коде не встречаются пробелы, потому что они
дисциплинированно пишут код. Ты хочешь использовать пробелы, потому что так
удобно тебе, чтобы ты легко копировал между гуем и консолью. И ты пытаешься
внести в стандарт то, что сформировано большей частью твоими
предпочтениями, а не PEP-8.
Кстати, не смотря на использование пробелов в гугле, их количество пробела
отличается от "стандартного" в питоне. Почему?
> Это что ещё за маргинальные предрассудки?
> Вопрос только про питон. Каков стандарт для питона в большинстве
> компаний? Правильно, пробелы.
Неверно. Правильный ответ - 50/50 в зависимости от предпочтений
руководителей и проектов.
> Суть введения стиля
> кодирования - уменьшить издержки, а не увеличить. При этом удобства
> замедляющие работу пренебрегаются правилами её ускоряющими.
Именно, потому пробелы снижают продуктивность тех, кому они не удобны.
> - возможность просмотреть код в шесть табов, вместо четырёх, ничего не
> ускорит;
Позволяет упросить настройку кода под себя.
> - проблемы с перенастройкой редакторов - замедлят;
Перенастройка не требуется, если редактор имеет режим автораспознавания
кода. С другой стороны, перенастройка минимальна, поскольку мы почти не
имеем питоновских проектов, которые написали где-то снаружи, которые мы
поддерживаем. Для новых же следует использовать табы.
> - проблемы с переделываеним табов на пробелов на табы - замедлят.
Не распарсил это предложение. Четыре строки замены - это не много.
Копипаст кода не должен служить основным методом написания оного.
> Эта возможность "подстроить под себя" число таобов на пробел нужна
> очень редко. Если задать политику, то не нужна вовсе. Это разумный
> компромисс следования общепринятым стандартам.
Хорошо, пусть будет так.
Для проектов, которые мы начинаем с нуля и которые буду вести я, мы
используем табы. В settingsd, проектах с коробочкой мы используем табы.
Остальное решай по своему усмотрению. Коммитя же в settingsd, пожалуйста,
используй табы.
Подробная информация о списке рассылки Devel