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

Evgeny Sinelnikov sin на etersoft.ru
Ср Сен 29 17:12:50 MSD 2010


29 сентября 2010 г. 16:43 пользователь Devaev Maxim
<mdevaev на etersoft.ru> написал:
> Итого, тот факт, что большинство использует пробелы не говорит о том, что
> этот способ правильный.

Это говорит о том, что такова политика по умолчанию. И я настаиваю на
этой политике у нас. Я могу убрать некторую часть в твоём документе и
добавить вместо оговорки о sin@, оговорку о @mdevaev:
"""
Отступы

В общем, случае политика относительно отступов направлена в сторону
совместимости общепринятым стандартам. В качестве отступов в исходном
коде следует использовать пробельные символы, но не символы табуляции.
Размер одного отступа равен 4 пробелам.

В рамках одного файла с исходным кодом (в дальнейшем - модуля) ни в
коем случае нельзя использовать разные виды отступа (пробелы и
табуляции одновременно), так как интерпретатор воспримет их
некорректно. Типы отступа могут различаться в каждом модуле, но делать
это крайне не рекомендуется, поскольку такой подход приведет к
путанице и проблемам в дальгейшем.

Некоторые сотрудники, (например, mdevaev@) считают более удобным
использование символов табуляции. Поскольку с их мнением трудно не
считаться, то было принято следующее правило: в проектах которые видут
лично они, тип отступов определяется первый коммитер проекта, его
руководитель. Остальные следуют его примеру. Кроме этого пункта,
остальные правила кодинг-стайла остаются неизменными.
"""

Замечу, что в оговорке обо мне предложение звучит так:
"Некоторые сотрудники, (например, sin@) считают более правильным
использование пробелов."

А в оговорке о Максиме:
"Некоторые сотрудники, (например, mdevaev@) считают более удобным
использование символов табуляции."


Я считаю, что нужно между "правильным" и субъективно "удобным"
вариантами выбрать правильный.


> Python был разработан в 1990-м году, когда толком ни один редактор не умел
> настраивать визуальную величину табуляции. Вложенность кода и сложность
> алгоритмов заставляли людей экономить на отступах, в результате родился
> кодинг-стайл с четырьмя пробелами, что в два раза меньше табуляции. Сейчас
> возможность регулировки появилась и использование пробелов, я считаю, уже
> происходит по инерции.

Поскольку при проблемы с конвертацией символов табуляции при переносе
исходного текста имеются до сих пор, а современные редакторы умеют
заполнять отсутпы проблеми, не вижу смысла переливать воду из пустого
в порожнее.

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

Ну, к чему это упёртость? Да, есть проблема с разным отображением -
кому-то нравится 3 пробела на таб, а кому-то - 6. Но это не повод,
чтобы вносить это в стиль кодирования.

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

PS: у меня ещё есть замечания по стилю кодирования, предложенному
Максимом. Думаю в выходные я найду время разобрать его документ и
привести свои замечения.

-- 
Sin (Sinelnikov Evgeny)


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