Лингвофорум

Общий раздел => Наука и техника => Компьютеры => Тема начата: Тайльнемер от сентября 11, 2013, 16:22

Опрос
Вопрос: Какой размер и тип табуляции вы предпочитаете (можно выбрать 1 вариант или 2)
Вариант 1: 0 голосов: 1
Вариант 2: 1 (пробел) голосов: 0
Вариант 3: 1 (табуляция) голосов: 1
Вариант 4: 2 (пробелы) голосов: 3
Вариант 5: 2 (табуляция) голосов: 1
Вариант 6: 3 (пробелы) голосов: 0
Вариант 7: 3 (табуляция) голосов: 1
Вариант 8: 4 (пробелы) голосов: 4
Вариант 9: 4 (табуляция) голосов: 6
Вариант 10: 5 (пробелы) голосов: 0
Вариант 11: 5 (табуляция) голосов: 0
Вариант 12: 6 (пробелы) голосов: 0
Вариант 13: 6 (табуляция) голосов: 0
Вариант 14: 7 (пробелы) голосов: 0
Вариант 15: 7 (табуляция) голосов: 0
Вариант 16: 8 (пробелы) голосов: 0
Вариант 17: 8 (табуляция) голосов: 3
Вариант 18: больше (пробелы) голосов: 0
Вариант 19: больше (табуляция) голосов: 0
Вариант 20: разная, по контексту (пробелы) голосов: 1
Вариант 21: разная, по контексту (табуляция(?)) голосов: 2
Название: Размер табуляции
Отправлено: Тайльнемер от сентября 11, 2013, 16:22
Речь о языках программирования, разметки и т. п., в которых используются многоуровневые отступы.
Название: Размер табуляции
Отправлено: Timiriliyev от сентября 11, 2013, 16:26
Цитировать4 (табуляция)
К этому, собственно, и привык. Наверное потому, что это стандарт такой.

А ещё бесит, когда отступы делают пробелами. :donno:
Название: Размер табуляции
Отправлено: Python от сентября 11, 2013, 16:35
Либо 4, либо 8, одним символом (делать отступы серией пробелов (вместо одной табуляции), а потом отсчитывать обратно (вместо одного нажатия бекспейса) довольно неудобно, правильное же увеличение/снижение отступа на один уровень доступно не во всех редакторах). Плохо, что консенсуса в вопросе длины табуляции нет, из-за чего в разных редакторах размер отступов может меняться (и если при этом текст после отступов выравнивался под соседнюю строку с другим уровнем отступа, вся красота поплывет). 4 лучше подходит для кода с высоким уровнем вложенности, хотя 8 — более древний стандарт и часто воспринимается как «значение табуляции по умолчанию».
Название: Размер табуляции
Отправлено: sasza от сентября 11, 2013, 16:37
Цитата: Timiriliev от сентября 11, 2013, 16:26
А ещё бесит, когда отступы делают пробелами. :donno:
+100500. А Гринь тут когда-то говорил, что чоткие поцаны только пробелами пользуются.
Название: Размер табуляции
Отправлено: Hellerick от сентября 11, 2013, 16:44
В программном коде табуляторы не нужны.
Название: Размер табуляции
Отправлено: sasza от сентября 11, 2013, 16:55
Как раз там они больше всего и нужны.
Название: Размер табуляции
Отправлено: maristo от сентября 11, 2013, 16:57
Цитата: Hellerick от сентября 11, 2013, 16:44
В программном коде табуляторы не нужны.
Перловщикам и переносы строк и пробелы не нужны, а в Питоне так не попрыгаешь.
Название: Размер табуляции
Отправлено: Python от сентября 11, 2013, 16:57
Теоретически, в правильном коде должны быть только пробелы. Но набирать такой код можно либо в избыточном IDE со всеми удобствами, либо в простеньком редакторе, рискуя сбиться на пробел-другой.
Название: Размер табуляции
Отправлено: Toman от сентября 11, 2013, 17:56
Цитата: maristo от сентября 11, 2013, 16:57
а в Питоне так не попрыгаешь
Это одна из причин, почему я так и не собрался учить этот язык, несмотря на его распространённость, нужность и полезность. Потому что я привык: если уж писать код, то оформлять его красиво (хотя бы для того, чтобы самому потом было удобнее читать и ориентироваться), в т.ч. теми же отступами. А для этого требуется, чтобы отступы не имели синтаксического значения. А когда кто-то додумался отступам дать синтаксическое значение, и тем самым отменить саму возможность оформить отступами красиво... Изврат это какой-то и неудобство. Примерно так же, как неудобно пойти гулять, шагая непременно и строго в ногу.
Название: Размер табуляции
Отправлено: Тайльнемер от сентября 11, 2013, 18:10
А что по-вашему является красивым оформлением отступами?

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

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

Синтаксизация отступов привела к единообразию оформления, никак не ухудшив его.
Название: Размер табуляции
Отправлено: amdf от сентября 11, 2013, 20:45
Ааааа, как меня бесят те, у кого 4. Особенно, когда это таб.
Название: Размер табуляции
Отправлено: quez от сентября 11, 2013, 20:54
Цитата: amdf от сентября 11, 2013, 20:45
Ааааа, как меня бесят те, у кого 4. Особенно, когда это таб.
Срач? Поехали.
На мой взгляд, четыре — самое оптимальное расстояние, потому что если взять два, то отступы малозаметны, а если восемь, то пара вложеных конструкций убивают всю читаемость. Ну а некрасивые некруглые числа вряд ли есть смысл рассматривать.
Название: Размер табуляции
Отправлено: Python от сентября 11, 2013, 22:36
1- и 2-пробельные табуляции действительно кто-то использует? :o
Название: Размер табуляции
Отправлено: Bhudh от сентября 12, 2013, 01:26
Цитата: amdf от сентября 11, 2013, 20:45Ааааа, как меня бесят те, у кого 4. Особенно, когда это таб.
:donno:
Ну извините.
Название: Размер табуляции
Отправлено: Bhudh от сентября 12, 2013, 01:27
Цитата: Python от сентября 11, 2013, 22:361- и 2-пробельные табуляции действительно кто-то использует? :o
Как вспомогательные.
Когда что-то уже отступленное надо ещё во что-то завернуть.
Название: Размер табуляции
Отправлено: Тайльнемер от сентября 12, 2013, 05:14
Цитата: amdf от сентября 11, 2013, 20:45
Ааааа, как меня бесят те, у кого 4. Особенно, когда это таб.
Вообще-то это странно. Когда это таб, то вы видите такой размер табуляции, который выставлен у вас, а не у тех, кто вас бесит. Или вас бесит сидеть за чужим редактором, где выставлен такой размер табуляции?

А сколько вы предпочитаете?
Название: Размер табуляции
Отправлено: Timiriliyev от сентября 12, 2013, 05:52
Цитата: amdf от сентября 11, 2013, 20:45
Ааааа, как меня бесят те, у кого 4. Особенно, когда это таб.
A iescio ia storonnic velicogo latinscogo alfavita.
Название: Размер табуляции
Отправлено: Тайльнемер от сентября 12, 2013, 06:21
Вообще, тут, видимо, надо разделять:
собственно 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. Зачем делать людям лишние сложности?
Название: Размер табуляции
Отправлено: Тайльнемер от сентября 12, 2013, 07:30
Цитировать1 (табуляция)
    - 1 (6.3%)
Интересный выбор! Кто за него проголосовал?
Название: Размер табуляции
Отправлено: amdf от сентября 12, 2013, 09:41
.
Название: Размер табуляции
Отправлено: Тайльнемер от сентября 12, 2013, 09:44
Offtop
А почему слово «Начальные» в строке подчёркнуто редактором?
Название: Размер табуляции
Отправлено: amdf от сентября 12, 2013, 10:08
Потому что среда разработки ненавидит кириллицу.
Название: Размер табуляции
Отправлено: Bhudh от сентября 12, 2013, 12:16
Цитата: amdf от сентября 12, 2013, 09:41(http://lingvoforum.net/index.php?action=dlattach;topic=61421.0;attach=42822;image)
Это C?
Хорошо, что точки-с-запятой автоматически в конце строк не проставляются...
Название: Размер табуляции
Отправлено: amdf от сентября 12, 2013, 13:30
Цитата: Bhudh от сентября 12, 2013, 12:16
Цитата: amdf от сентября 12, 2013, 09:41(http://lingvoforum.net/index.php?action=dlattach;topic=61421.0;attach=42822;image)
Это C?
Хорошо, что точки-с-запятой автоматически в конце строк не проставляются...
Да, это Си. Конечно хорошо, что не проставляются. Они и не должны автоматически проставляться. Где это видано.
Название: Размер табуляции
Отправлено: Тайльнемер от сентября 12, 2013, 14:05
Цитата: amdf от сентября 12, 2013, 13:30
Где это видано.
В џаваскрипте́.
Название: Размер табуляции
Отправлено: mnashe от сентября 12, 2013, 14:21
Вот мои настройки для разных типов файлов:
HTM⌂IND=A⌂TS=Y⌂ES=L⌂TAB=0⌂PG=<H⌂PM=100⌂PAR=I⌂LW=240⌂LS=HTML⌂EV=internet^runtag⌂IN=internet^scharset⌂CMD=MExWin /O <FULL+>
HTML⌂IND=A⌂TS=Y⌂ES=L⌂TAB=0⌂PG=<H⌂PM=100⌂PAR=I⌂LW=240⌂LS=HTML⌂EV=internet^runtag⌂IN=internet^scharset⌂CMD=MExWin /O <FULL+>⌂TMPL=HTM
CSS⌂PAR=N⌂IND=A⌂TS=Y⌂TAB=4⌂LW=240⌂TMPL=HTM
ASM⌂RM=128⌂IL=9⌂IND=S⌂TS=Y⌂PAR=N⌂LS=Assembly⌂COMP=TASM⌂ST=ASM⌂CMD=assembly.bat <file>⌂CM=320⌂PG=PROC⌂PM=101
BAS⌂IND=A⌂PAR=N⌂LS=BASIC⌂TMPL=:BASIC^BASTEMP
BIN⌂TS=N⌂ES=B⌂TAB=0⌂RO=Y
CPP⌂RM=132⌂IND=S⌂TAB=2⌂TS=Y⌂PAR=N⌂LS=C⌂COMP=Turbo C⌂CMD=bcc.exe <file>⌂CM=200
C⌂RM=132⌂IND=S⌂TAB=2⌂TS=Y⌂PAR=N⌂LS=C⌂COMP=Turbo C
DAT⌂PG=•⌂PM=1⌂TS=N⌂TAB=0⌂PAR=N⌂ES=D
DEB⌂RM=88⌂IL=9⌂TS=Y⌂PAR=N⌂LS=Assembly⌂ST=DEB⌂TMPL=ASM⌂CMD=:ASM^DEBMAKE
DFL⌂PAR=N⌂TS=N⌂ES=B⌂TAB=0⌂LW=128
DGS⌂CMD=:StartFil <FULL+>⌂RM=72⌂TAB=0⌂TS=N⌂LS=HTML⌂ES=D
HEB⌂RM=80⌂WD=R⌂TAB=4⌂PAR=B
H⌂RM=132⌂IND=S⌂TAB=2⌂TS=Y⌂PAR=N⌂LS=C⌂COMP=Turbo C
INC⌂LS=Assembly⌂IL=5⌂RM=160⌂TAB=4⌂IND=S⌂PAR=N
INI⌂PG=[⌂PM=1⌂TAB=0⌂PAR=N⌂ES=D
LNK⌂PAR=N⌂TS=N⌂ES=B⌂TAB=0⌂RM=220
LST⌂PG=PROC⌂LS=Assembly⌂TS=Y⌂PAR=N
MAK⌂CMD=make -f<FILE>⌂RM=80⌂TAB=4⌂TS=Y
MCR⌂LS=Assembly⌂IL=5⌂RM=160⌂TAB=4⌂IND=S⌂PAR=N⌂PG=MACRO⌂PM=101
MNU⌂PG=[⌂PM=1⌂TAB=0⌂TS=Y⌂DOS=:UserMenu /F=<FILE>⌂ES=D
PAS⌂RM=128⌂IND=S⌂TAB=2⌂TS=Y⌂PAR=N⌂LS=Pascal⌂COMP=Turbo Pascal⌂CMD=C:\PASCAL\TURBO7\TPC.EXE /e<me_path> /b <file>⌂CM=160
PIF⌂PAR=N⌂TS=N⌂ES=B⌂TAB=0⌂RM=220
REP⌂PG=#⌂PM=1⌂PAR=N⌂ES=D⌂TAB=0
RSP⌂CMD=tlink /s /t /yx @<FULL>
SRC⌂IL=3⌂DOC=D⌂IND=S⌂TAB=2⌂TS=Y⌂PAR=N⌂PG=$MACRO ⌂PM=101⌂LS=Multi-Edit⌂COMP=Multi-Edit⌂CMD=<me_path>memac.com /p<me_path> <file>⌂CM=155⌂ES=D
S⌂DOC=D⌂IND=S⌂TAB=2⌂TS=Y⌂PAR=N⌂LS=C
TBL⌂PG=•⌂PM=1⌂TAB=4⌂IL=3⌂RM=76
TEM⌂RM=132⌂DOC=D⌂IND=A⌂TAB=4⌂TS=Y⌂PAR=N⌂PG=MACRO ⌂LS=TEML⌂COMP=Turbo C⌂CMD=temc.exe <file> <prog_path>tcconfig.tc⌂CM=120
TNK⌂PG= 1  ⌂WD=R⌂DOC=D⌂PAR=N⌂RO=Y
TXM⌂PG=•⌂PM=1⌂ST=Music^Play
TXT⌂TAB=4⌂RM=76
AHK⌂PG=::⌂LS=C⌂PAR=N⌂IND=S⌂TS=Y⌂TAB=0


AHK
BIN
DAT
DFL
DGS
HTML
HTM
INI
LNK
MNU
PIF
REP
CPP2
C2
H2
PAS2
SRC2
S2
CSS4
HEB4
INC4
MAK4
MCR4
TBL4
TEM4
TXT4
ASM8

Цитата: sasza от сентября 11, 2013, 16:37
Цитата: Timiriliev от сентября 11, 2013, 16:26А ещё бесит, когда отступы делают пробелами. :donno:
+100500
:+1:
Название: Размер табуляции
Отправлено: Python от сентября 12, 2013, 14:28
Цитата: Bhudh от сентября 12, 2013, 01:27
Цитата: Python от сентября 11, 2013, 22:361- и 2-пробельные табуляции действительно кто-то использует? :o
Как вспомогательные.
Когда что-то уже отступленное надо ещё во что-то завернуть.
Т.е., речь об обычной 4-пробельной табуляции (которая после лишних пробеловавтоматически сокращается), а отступ, не кратный 4, реализовывается пробелами — это имелось в виду?
Название: Размер табуляции
Отправлено: Bhudh от сентября 12, 2013, 20:30
Именно.
Название: Размер табуляции
Отправлено: amdf от сентября 12, 2013, 20:33
Запомните, детки, отступ - 2 пробела.
Алсо, ваши джаваскрипты - это игрушки. Только Си, только хардкор.
Название: Размер табуляции
Отправлено: arseniiv от сентября 12, 2013, 21:32
Отметил «разная, по контексту (пробелы)» — обычно люблю 2, но в пѵѳоне рекомендуется 4, и свои начинания на нём оформляю как 4 пробела. Обычно пробелы генерируются из нажатия Tab в редакторе сами.

А не хотите обсудить sans/serif для шрифта кода? Создал опрос. (http://lingvoforum.net/index.php/topic,61446.0.html)
Название: Размер табуляции
Отправлено: Python от сентября 13, 2013, 00:55
Цитата: amdf от сентября 12, 2013, 20:33
Запомните, детки, отступ - 2 пробела.
При более чем трех уровнях вложенности довольно неудобно — уровни путаются. Разве что в сочетании с (wiki/en) Indent_style#GNU_style (http://en.wikipedia.org/wiki/Indent_style#GNU_style) — тогда два пробела перед скобкой и еще два внутри. Но я предпочитаю (wiki/en) Indent_style#Whitesmiths_style (http://en.wikipedia.org/wiki/Indent_style#Whitesmiths_style)
Название: Размер табуляции
Отправлено: Тайльнемер от сентября 13, 2013, 04:45
Цитата: amdf от сентября 12, 2013, 20:33
Запомните, детки, отступ - 2 пробела.
+1
Цитата: Python от сентября 13, 2013, 00:55
При более чем трех уровнях вложенности довольно неудобно — уровни путаются.
Как раз при более чем трех уровнях вложенности довольно удобно — текст не отъезжает на пол-экрана вправо.
Название: Размер табуляции
Отправлено: Timiriliyev от сентября 13, 2013, 05:53
Цитата: amdf от сентября 12, 2013, 20:33
Запомните, детки, отступ - 2 пробела.
Алсо, ваши джаваскрипты - это игрушки. Только Си, только хардкор.
Manera pis'ma tipichnogo şcol'nica.
Название: Размер табуляции
Отправлено: Тайльнемер от сентября 13, 2013, 06:19
Цитата: Timiriliev от сентября 13, 2013, 05:53
Manera pis'ma tipichnogo şcol'nica.
Heto ge parodija na tacuju maneru pisjma.
Название: Размер табуляции
Отправлено: Timiriliyev от сентября 13, 2013, 06:25
Цитата: Тайльнемер от сентября 13, 2013, 06:19
Heto ge parodija na tacuju maneru pisjma.
Закон По работает везде.
Название: Размер табуляции
Отправлено: Python от сентября 14, 2013, 04:44
Цитата: Тайльнемер от сентября 13, 2013, 04:45
Цитата: amdf от сентября 12, 2013, 20:33
Запомните, детки, отступ - 2 пробела.
+1
Цитата: Python от сентября 13, 2013, 00:55
При более чем трех уровнях вложенности довольно неудобно — уровни путаются.
Как раз при более чем трех уровнях вложенности довольно удобно — текст не отъезжает на пол-экрана вправо.
Лучше уж совсем без отступов, чем с недоотступами.