Табы или пробелы? (ну и вопрос к этому)
Чем принято делать отступы в исходниках? Что считается хорошим стилем: 4/8/? пробелов или табуляция?
А ещё вопрос такой: а как бы настроить отступы единообразно для всех режимов emacs? А то как я сейчас посмотрю, в разных режимах по умолчанию всё по-разному. Где-то 2/4 пробела, где-то табуляция. Чую, есть какая-то общая настройка, но найти не получилось.
Re: Табы или пробелы? (ну и вопрос к этому)
Табы, составляющие 8 пробелов. Сейчас придут еретики, которые скажут другое - не верь им!!1111
Re: Табы или пробелы? (ну и вопрос к этому)
2/4/8 пробелов. Таб заменяется на пробел. Табы в исходниках - плохо, про это в инете даже писали:)
Re: Табы или пробелы? (ну и вопрос к этому)
самое главное, это избежать ереси, когда делают отступы табами, но табы настраивают не на 8, а на 4.
Re: Табы или пробелы? (ну и вопрос к этому)
M-x customize-variable tab-width
Re: Табы или пробелы? (ну и вопрос к этому)
у меня отступ 2 пробела — монитор маленький.
Re: Табы или пробелы? (ну и вопрос к этому)
4 пробела стоит. Но тот же c-mode методично вставляет табы.
Re: Табы или пробелы? (ну и вопрос к этому)
Раз в несколько мес-в эта тема тут подымается.
Вообще говоря, дело привычки. Лично я предпочитаю 3 пробела.
Не понимаю людей, усложняющих себе жизнь табами. Пользование одновременно несколькими символами, одинаково выглядящими на экране ИМХО -- некий утонченный мазохизм. Особенно песТня -- мышкой это дело копировать.
Единственный разумный аргумент стронников табов -- "логическая" разметка vs. "физическая" -- на мой взгляд не выдерживает критики: сколько пробелов автор кода положил, столько и должно быть.
Re: Табы или пробелы? (ну и вопрос к этому)
Основной смысл табов -- каждый программист может настроить свой редактор под удобное ему _отображение_ отступов. Однако я последнее время склоняюсь к мысли, что отступы надо делать пробелами. Так как внутри одного уровня отступа если хочешь сделать подотступ (например если длинная функция и аргументы переносишь на другую строку), то его уже надо делать пробелами, а единственный редактор, который делает это на автомате это kate. В результате код может выглядеть некрасиво при разных настройках табов в разных редакторах.
Re: Табы или пробелы? (ну и вопрос к этому)
Прозреваю быдлокод. В уровнем отступа в 4 пробела нормально на любом мониторе вмещается код с уровнем вложенности <= 4. Если у тебя больше уровней вложенности, то надо что-то с этим делать.
Re: Табы или пробелы? (ну и вопрос к этому)
>сколько пробелов автор кода положил, столько и должно быть Ну вот это-то как раз понятно. Я для себя выбираю.
Всем: так что с Emacs'ом? Для каждого режима отступы отдельно настраивать?
Re: Табы или пробелы? (ну и вопрос к этому)
только пробелы. 4 шт. за использование табов расстреливать без суда и следствия по законам военного времени. за использование кол-ва пробелов, отличного от 4х, ссылать на Колыму.
Re: Табы или пробелы? (ну и вопрос к этому)
> самое главное, это избежать ереси, когда делают отступы табами, но табы настраивают не на 8, а на 4.
это ерунда. вот когда используют одновременно и табы и пробелы в одной строке - вот это уже действительно ересь достойная линча.
Re: Табы или пробелы? (ну и вопрос к этому)
/me аккуратно записывает выявленных еретиков
Re: Табы или пробелы? (ну и вопрос к этому)
2 или 4 пробела
Re: Табы или пробелы? (ну и вопрос к этому)
Re: Табы или пробелы? (ну и вопрос к этому)
>В уровнем отступа в 4 пробела нормально на любом мониторе вмещается код с уровнем вложенности <= 4. Если у тебя больше уровней вложенности, то надо что-то с этим делать.
так он же использует интерпрайз яву, а там длинные имена классов
Re: Табы или пробелы? (ну и вопрос к этому)
> за использование кол-ва пробелов, отличного от 4х, ссылать на Колыму.
Re: Табы или пробелы? (ну и вопрос к этому)
> Не понимаю людей, усложняющих себе жизнь табами.
Когда у тебя с одним кодом работают несколько людей, и у всех не только разные убеждения о том, каким должно быть левое поле (от 2 до 8 позиций), но ещё и действительно разного размера консоли - тогда ты посмотришь на табуляцию как на панацею.
И такой код одинаково хорошо выглядит с любыми настройками.
Одновременно несколькими символами не пользуюсь. tab использую только в левом поле; в левом поле использую только tab.
Не понимаю людей, завязывающих создаваемый ими код на свой личный размер отступа. Имхо это намеренное придумывание неудобств читателю.
Вариант с табуляциями всегда любой желающий всегда сможет привести к своему любимому стилю. Обратное невозможно.
Проблемы возникают как раз когда импортный код использует кашу пробелов и табуляций (часто получающуюся из-за слишком умных текстовых редакторов, заменяющих N пробелов на одну табуляцию), когда это N не совпадает с моим tabsize. Собственно имхо это единственная проблема.
PS. У меня тоже с самого начала было 3 пробела.
PPS. навигация в текстовом редакторе по табам гораздо проще. С пробелами курсор (и текст) всё время норовит встать на запрещённую (некратную indentstep) позицию.
Re: Табы или пробелы? (ну и вопрос к этому)
>Табы, составляющие 8 пробелов
PEP8 не читал, да? ;)
Для python есть вполне конкретная рекомендация: 4 пробела.
Re: Табы или пробелы? (ну и вопрос к этому)
> Для python есть вполне конкретная рекомендация: 4 пробела.
Ладно, Гвидо тоже сожжем как еретика. Всё равно Py3k уже вышел %)
Re: Табы или пробелы? (ну и вопрос к этому)
> И такой код одинаково хорошо выглядит с любыми настройками.
Кстати, неодинаково. Лучше всего - именно на "родной" настройке ширины таба. Но в остальном да, таб позволяет компромисс, который недостижим пробелами.
Re: Табы или пробелы? (ну и вопрос к этому)
> Табы в исходниках - плохо, про это в инете даже писали
Ссылочку плиз. Хочу просветиться. Пока меня не сожгли. :)
Re: Табы или пробелы? (ну и вопрос к этому)
не принимаю патчи с отступами в виде пробелов. Только табы.
Re: Табы или пробелы? (ну и вопрос к этому)
Ой! А я сегодня какраз чуть футболку на себе не поджёг когда газ на плите зажигал. Видать это был знак свыше, что пора переходить с табов на пробелы.
Re: Табы или пробелы? (ну и вопрос к этому)
Табы. Прыгать по отступам легко.
Отображаю их в 4 пробела.
Re: Табы или пробелы? (ну и вопрос к этому)
>Табы. Прыгать по отступам легко.
С нормальным редактором - не проблема.
Re: Табы или пробелы? (ну и вопрос к этому)
>С нормальным редактором - не проблема.
1. Нормальный редактор далеко не всегда есть под рукой. 2. Нормальные редакторы часто слишком долго запускаются :D
Re: Табы или пробелы? (ну и вопрос к этому)
3. В нормальном редакторе дела нет до того, пробелы это или табы. Так что табы - кошернее :) Да и файл меньше весит.
Re: Табы или пробелы? (ну и вопрос к этому)
> 1. Нормальный редактор далеко не всегда есть под рукой.
Re: Табы или пробелы? (ну и вопрос к этому)
Для C табы (K&R, Linux kernel guidelines), для питона 4 пробела (PEP8), для руби 2 (традиционно AFAIK). Для всего остального предпочитаю табы по аналогии с C, но в последнее время начинаю склоняться к 4 пробелам (особенно в конфигах и языках разметки.)
Re: Табы или пробелы? (ну и вопрос к этому)
алсо :set expandab tabstop=4 textwidth=80
Re: Табы или пробелы? (ну и вопрос к этому)
а вам не влом по 4 раза пробел нажимать? я использую 2 пробела
Re: Табы или пробелы? (ну и вопрос к этому)
>а вам не влом по 4 раза пробел нажимать?
vim какбы и один раз таб
Re: Табы или пробелы? (ну и вопрос к этому)
>Нормальный редактор [. ] vi
Re: Табы или пробелы? (ну и вопрос к этому)
>>Нормальный редактор [. ] vi
Re: Табы или пробелы? (ну и вопрос к этому)
1 (один) пробел. все остальные просто засирают место на экране.
Re: Табы или пробелы? (ну и вопрос к этому)
> А я сегодня какраз чуть футболку на себе не поджёг когда газ на плите зажигал. Видать это был знак свыше, что пора переходить с табов на пробелы.
Это было предупреждение - еретики, которые смеют пользоваться пробелами, сгорят в аду.
Re: Табы или пробелы? (ну и вопрос к этому)
Или табы, или пробелы. Но не вместе.
Re: Табы или пробелы? (ну и вопрос к этому)
> . Когда у тебя с одним кодом работают несколько людей, и у всех не только разные убеждения о том, каким должно быть левое поле (от 2 до 8 позиций), но ещё и действительно разного размера консоли .
Я -- тот несчастный, что много лет это на себе испытывает. Много лет девелоплю я проект, главный папа которого -- фанат табов.
Поверь, все зло идет именно от табов. Постоянно (в основном по причине копирования мышкой, но не только) табы меняются на пробелы (и наоборот), и все встаёт раком.
>Одновременно несколькими символами не пользуюсь. tab использую только в левом поле; в левом поле использую только tab.
1. Во время предыдущей дискуссии на эту тему кучу примеров привели, когда табы ну никак не канают.
2. Без пробелов ты все равно не обойдешься -- следовательно, именно табы мастдай.
> Не понимаю людей, завязывающих создаваемый ими код на свой личный размер отступа. Имхо это намеренное придумывание неудобств читателю.
Ну, если ты в Ворде код лабаешь -- возможно, ты и прав.
На экране обычно 80 символов (для комфортного чтения). Средняя длина идентификатора -- вещь сугубо интимная (обычно она обратно коррелирует с кол-вом комментариев). Поэтому величина отступа обычно (обратно) коррелирует с длиной идентификатора и (прямо) коррелирует с модульностью, принятыми данным автором.
> Вариант с табуляциями всегда любой желающий всегда сможет привести к своему любимому стилю. Обратное невозможно.
ИМХО наоборот. Аргументацию см. выше.
> Проблемы возникают как раз когда импортный код использует кашу пробелов и табуляций .
За такое -- немедленнно 10 лет расстрела вонючими пулями!
> . навигация в текстовом редакторе по табам гораздо проще
Монопенисуально. Любой продвинутый редактор настраивается на N пробелов еквивалентно табам.