Главное меню
Мы солидарны с Украиной. Узнайте здесь, как можно поддержать Украину.

Размер табуляции

Автор Тайльнемер, сентября 11, 2013, 16:22

0 Пользователи и 1 гость просматривают эту тему.

Тайльнемер

Речь о языках программирования, разметки и т. п., в которых используются многоуровневые отступы.

Timiriliyev

Цитировать4 (табуляция)
К этому, собственно, и привык. Наверное потому, что это стандарт такой.

А ещё бесит, когда отступы делают пробелами. :donno:
Правда — это то, что правда для Вас.

Python

Либо 4, либо 8, одним символом (делать отступы серией пробелов (вместо одной табуляции), а потом отсчитывать обратно (вместо одного нажатия бекспейса) довольно неудобно, правильное же увеличение/снижение отступа на один уровень доступно не во всех редакторах). Плохо, что консенсуса в вопросе длины табуляции нет, из-за чего в разных редакторах размер отступов может меняться (и если при этом текст после отступов выравнивался под соседнюю строку с другим уровнем отступа, вся красота поплывет). 4 лучше подходит для кода с высоким уровнем вложенности, хотя 8 — более древний стандарт и часто воспринимается как «значение табуляции по умолчанию».
Пролетареві ніколи вчити європейських мов, бодай би свою знати добре і на ній принести до своєї хати світло знання (Гнат Хоткевич)
ÆC CASALI NAXI PRASQURI: AHOV CÆRU, MERTVÆRI TÆ SLAVUTÆT!
Вони просили його: «Скажи: кетум», а він говорив: «сатем», і не міг вимовити правильно.
Хотелось бы также отметить, что "Питон" - это "мышиный язык" : "пи+тон". © АБР-2

sasza

Цитата: Timiriliev от сентября 11, 2013, 16:26
А ещё бесит, когда отступы делают пробелами. :donno:
+100500. А Гринь тут когда-то говорил, что чоткие поцаны только пробелами пользуются.

Hellerick


sasza


maristo

Цитата: Hellerick от сентября 11, 2013, 16:44
В программном коде табуляторы не нужны.
Перловщикам и переносы строк и пробелы не нужны, а в Питоне так не попрыгаешь.
«Toute discussion theorique est vaine: l'Esperanto fonctionne» Antoine Mеillet

Python

Теоретически, в правильном коде должны быть только пробелы. Но набирать такой код можно либо в избыточном IDE со всеми удобствами, либо в простеньком редакторе, рискуя сбиться на пробел-другой.
Пролетареві ніколи вчити європейських мов, бодай би свою знати добре і на ній принести до своєї хати світло знання (Гнат Хоткевич)
ÆC CASALI NAXI PRASQURI: AHOV CÆRU, MERTVÆRI TÆ SLAVUTÆT!
Вони просили його: «Скажи: кетум», а він говорив: «сатем», і не міг вимовити правильно.
Хотелось бы также отметить, что "Питон" - это "мышиный язык" : "пи+тон". © АБР-2

Toman

Цитата: maristo от сентября 11, 2013, 16:57
а в Питоне так не попрыгаешь
Это одна из причин, почему я так и не собрался учить этот язык, несмотря на его распространённость, нужность и полезность. Потому что я привык: если уж писать код, то оформлять его красиво (хотя бы для того, чтобы самому потом было удобнее читать и ориентироваться), в т.ч. теми же отступами. А для этого требуется, чтобы отступы не имели синтаксического значения. А когда кто-то додумался отступам дать синтаксическое значение, и тем самым отменить саму возможность оформить отступами красиво... Изврат это какой-то и неудобство. Примерно так же, как неудобно пойти гулять, шагая непременно и строго в ногу.
Во́зле до́ма хо́лм с куля́ми - вы́йду на́ холм, ку́ль поставлю.
В славном городе Miami тётки мерялись ногтями, тик иң озын завсегда у Фиделя борода!

Тайльнемер

А что по-вашему является красивым оформлением отступами?

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

Hellerick

Цитата: Toman от сентября 11, 2013, 17:56
Это одна из причин, почему я так и не собрался учить этот язык, несмотря на его распространённость, нужность и полезность. Потому что я привык: если уж писать код, то оформлять его красиво (хотя бы для того, чтобы самому потом было удобнее читать и ориентироваться), в т.ч. теми же отступами. А для этого требуется, чтобы отступы не имели синтаксического значения.

А по мне так питон-код как раз весьма красив.

Синтаксизация отступов привела к единообразию оформления, никак не ухудшив его.

amdf

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

quez

Цитата: amdf от сентября 11, 2013, 20:45
Ааааа, как меня бесят те, у кого 4. Особенно, когда это таб.
Срач? Поехали.
На мой взгляд, четыре — самое оптимальное расстояние, потому что если взять два, то отступы малозаметны, а если восемь, то пара вложеных конструкций убивают всю читаемость. Ну а некрасивые некруглые числа вряд ли есть смысл рассматривать.

Python

1- и 2-пробельные табуляции действительно кто-то использует? :o
Пролетареві ніколи вчити європейських мов, бодай би свою знати добре і на ній принести до своєї хати світло знання (Гнат Хоткевич)
ÆC CASALI NAXI PRASQURI: AHOV CÆRU, MERTVÆRI TÆ SLAVUTÆT!
Вони просили його: «Скажи: кетум», а він говорив: «сатем», і не міг вимовити правильно.
Хотелось бы также отметить, что "Питон" - это "мышиный язык" : "пи+тон". © АБР-2

Bhudh

Цитата: amdf от сентября 11, 2013, 20:45Ааааа, как меня бесят те, у кого 4. Особенно, когда это таб.
:donno:
Ну извините.
Пиши, что думаешь, но думай, что пишешь.
MONEŌ ERGŌ MANEŌ.
Waheeba dokin ʔebi naha.
«каждый пост в интернете имеет коэффициент бреда» © Невский чукчо

Bhudh

Цитата: Python от сентября 11, 2013, 22:361- и 2-пробельные табуляции действительно кто-то использует? :o
Как вспомогательные.
Когда что-то уже отступленное надо ещё во что-то завернуть.
Пиши, что думаешь, но думай, что пишешь.
MONEŌ ERGŌ MANEŌ.
Waheeba dokin ʔebi naha.
«каждый пост в интернете имеет коэффициент бреда» © Невский чукчо

Тайльнемер

Цитата: amdf от сентября 11, 2013, 20:45
Ааааа, как меня бесят те, у кого 4. Особенно, когда это таб.
Вообще-то это странно. Когда это таб, то вы видите такой размер табуляции, который выставлен у вас, а не у тех, кто вас бесит. Или вас бесит сидеть за чужим редактором, где выставлен такой размер табуляции?

А сколько вы предпочитаете?

Timiriliyev

Цитата: amdf от сентября 11, 2013, 20:45
Ааааа, как меня бесят те, у кого 4. Особенно, когда это таб.
A iescio ia storonnic velicogo latinscogo alfavita.
Правда — это то, что правда для Вас.

Тайльнемер

Вообще, тут, видимо, надо разделять:
собственно indentation, которая превращает код из линейного списка строк в дерево в соответствии с семантикой программы,
и aligning, используемый для того, чтобы однотипные рядомстоящие строки кода выглядели как таблица:
   const int One         =  1;
   const int Three       =  3;
   const int Thirteen    = 14;
   const int TwentySeven = 27;
   const int Nine        =  9;

Ясно, что для этого годятся только пробелы, т. к., во-превых, нужна посимвольная точность, а во-вторых, если туда вставлять табы, то код будет при всех других размерах таба расползаться до безобразия.
Редактировать такие псевдотаблицы неудобно — приходится выравнивать её после каждого редактирования. Конечно, если бы табуляция могла выставляться на произвольные позиции для отдельно взятых строк, как в «Уэрде», было бы гораздо удобнее, но такого в редакторах для кода не бывает, и сохранение информации о позициях табуляции в файле с кодом невозможно. Поэтому — пробелы.

А вот для индентации, наоборот, посимвольная точность вредна, и нужна именно поблочная, которую даёт таб. Текст с табами проще редактировать. К тому же, использование таба для индентов позволяет каждому читателю видеть его такого размера, какой ему нравится.

Некоторые смешивают indentation и aligning:
   bool isGay = IsMale &&
                HasLover &&
                Lover.IsMale;

На мой взгляд, это отвратительно, т. к. такое форматирование приносит все «прелести» редактирования псевдотаблиц:
Меняем что-нибудь — всё съезжает:
   bool isHomosexualMale = IsMale &&
                HasLover &&
                Lover.IsMale;

или оказывается где-то в правом конце экрана с огро-о-омным отступом слева:
   private static readonly SomeWrapper<System.Nullable<bool>> IsHomosexualMale = IsMale &&
                                                                                 HasLover &&
                                                                                 Lover.IsMale;

Я всегда пишу так:
   bool isGay =
      IsMale &&
      HasLover &&
      Lover.IsMale;

— табличность сохранена, проблем с редактированием нет, размеры всех отступов стандартные.

Так что, мне кажется, табы — для индентации, пробеды — для псевдотаблиц, и незачем их смешивать.

А размер таба мне нравится 2 или в крайнем случае 3. 4 уже кажется большеватым. 8 — ужасно огромным.
Если бы я делал табуляцию пробелами, все бы плевались и переформатировали на 4. Зачем делать людям лишние сложности?

Тайльнемер

Цитировать1 (табуляция)
    - 1 (6.3%)
Интересный выбор! Кто за него проголосовал?

amdf

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

Тайльнемер

Offtop
А почему слово «Начальные» в строке подчёркнуто редактором?

amdf

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

Bhudh

Цитата: amdf от сентября 12, 2013, 09:41
Это C?
Хорошо, что точки-с-запятой автоматически в конце строк не проставляются...
Пиши, что думаешь, но думай, что пишешь.
MONEŌ ERGŌ MANEŌ.
Waheeba dokin ʔebi naha.
«каждый пост в интернете имеет коэффициент бреда» © Невский чукчо

amdf

Цитата: Bhudh от сентября 12, 2013, 12:16
Цитата: amdf от сентября 12, 2013, 09:41
Это C?
Хорошо, что точки-с-запятой автоматически в конце строк не проставляются...
Да, это Си. Конечно хорошо, что не проставляются. Они и не должны автоматически проставляться. Где это видано.
Ведовьство, потвори, чяродеание, волхъвование, зеленничьство, церковнаа татба, мертвеци сволочать, крест посекут, или на стенах трескы емлють из креста.

Быстрый ответ

Обратите внимание: данное сообщение не будет отображаться, пока модератор не одобрит его.

Имя:
Имейл:
Проверка:
Оставьте это поле пустым:
Наберите символы, которые изображены на картинке
Прослушать / Запросить другое изображение

Наберите символы, которые изображены на картинке:

√36:
ALT+S — отправить
ALT+P — предварительный просмотр