[Devel] Кодинг-стайл для Python
Devaev Maxim
mdevaev на etersoft.ru
Ср Сен 29 14:24:32 MSD 2010
On Wed, 29 Sep 2010 03:25:40 +0400, Evgeny Sinelnikov <sin на etersoft.ru>
wrote:
> Я ещё раз хочу напомнить, что я против использования табов, вместо
> общепринятых 4- пробелов и готов ставить вето в этом плане.
> Обоснование вида, что "и табы тоже можно использовать" принять не
> могу, ибо "и пробелы тоже можно использовать". Это не аргумент.
>
> Считаю, что наличие большого количества кода и принятие пробелов, как
> официального стиля колирования является более весомым, дополнительным
> аргументом в пользу пробелов, особенно учитывая, что в Питоне нельзя
> смешивать пробелы и табы в одном файле.
Почему-то не приложилась ссылка:
http://wiki.office.etersoft.ru/devel/Python/CodingStyle
Мое обоснование таково. Отступ - это визуальная группировка текста.
Поскольку от отступов зависит восприятие программистом кода и алгоритма, то
слишком маленький отступ будет создавать путаницу, поскольку с ним будет
трудно ориентироваться в коде. Таком образом, например, код с двумя
пробелами совершенно нечитаем.
Например, я совершенно не в состоянии воспринимать код, который написан с
отступами менее шести пробелов. В то время, как другим нравится, скажем,
четыре или два. Очевидно, что величина отступов становится субъективным
параметром. При использовании пробелов код всегда будет содержать отступы
определенной величины, доставляя программисту неудобство. С другой стороны,
визуальная величина символа табуляции настраивается почти во всех
редакторах и любой работающий с кодом, может настроить его внешний вид
таким, чтобы его было удобно читать именно ему. С пробелами такой фокус не
пройдет.
Наличие готового кода с четырьмя пробелами весомый аргумент, но, с другой
стороны, мы не применяем тот же кодинг-стайл, что используется проектом GNU
только потому, что glibc используется во всех проектах. Пробелы в начале
строки вместо табуляции, опять же, можно подсветить в том же vim или kate,
так что проблем не возникнет. Сколько я писал на питоне и копипастил код из
оффициальных примеров, его конечное применение было таким, что он
оказывался практически весь переписан, а оригинальный, скопипащенный,
удалялся.
Подробная информация о списке рассылки Devel