LINUX.ORG.RU
ФорумTalks

Какими должны быть отступы в коде? Пусть начнется битва!

 , ,


0

2

Немало копий сломано в спорах о том, какими должны быть отступы в коде. Адепты разных религий в священных войнах супротив инакомыслия изничтожали в атомный пепел аудиторию не одного сайта. И конца и края этому не не видно. Найдется ли герой, который положит конец бесчинству человеческих заблуждений?

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

Кто-то что-то хочет возразить?

★★★★★

согласно ГОСТ'у. и никак иначе.

conalex ★★★
()

Хз, у меня NetBeans имеет функцию «Формат». html-код очень хорошо и выразительно расставляет. Буду я ещё вручную пробелы ставить, тем более по 2, ага.

ekzotech ★★★★
()

Один таб. Ибо длину табуляции можно настроить, а длина пробела зависит от шрифта, редактора и погоды на Марсе.

Sadler ★★★
()

Четыре пробела слишком долго набирать. Или, может быть, лучше 'Tab'?

P.S.Пора задать этот вопрос на главной.

pacify ★★★★★
()

Тоже любил 2 пробела, а потом мне купили 24 дюймовый монитор, и я перешел на один таб. Потому что практичнее, 1 нажатие против двух. Знаю, можно настроить таб, но не хочу. Удобно, когда на всех компах из коробки работает.

tiinn ★★★★★
()

я свой быдлокод на баше никому не показываю. я даже никогда не задумывался над отступами.

dada ★★★★★
()

Долго набирать

Любой вменяемый редактор умеет автоматически вставлять нужное кол-во пробелов. Никогда такой проблемы не испытывал.

Kilte ★★★★★
()

Имею мнение, хрен оспоришь

Кто-то что-то хочет возразить?

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

Camel ★★★★★
()

Тупняк какой-то. У большинства языков есть гайдлайны, которые оговаривают в том числе и отступы.

vurdalak ★★★★★
()

PEP8 мне говорит - 4 проблела. Без проблем, настраиваем Tab на 4 пробела. Ruby сообщество говорит - 2 пробела. Без проблем, настраиваем Tab на 2 пробела. C говорит - как хочешь. Без проблем, хочу - и оставляю просто Tab длиной в 4 пробела. Если кто-то захочет видеть 2 пробела - просто перенастроит свой Tab. Мне так кажется.

fludardes ★★
()
Последнее исправление: fludardes (всего исправлений: 1)

Почему 45? 30 градусов тоже неплохо. А 47,5(6) так совсем отлично!

Stahl ★★☆
()

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

amomymous ★★★
()

более меньший

более большой

(набирает номер горячей линии испанской инквизиции по вызову)

k336184
()
Ответ на: комментарий от Sadler

Один таб. Ибо длину табуляции можно настроить, а длина пробела зависит от шрифта, редактора и погоды на Марсе.

Это самая бредовая мысль, какую я только слышал. Все время натыкаюсь на проекты, где табы перемежаются с пробелами. Смотреть на это больно, форматирование съезжает шо пипец.

Xintrea ★★★★★
() автор топика
Ответ на: комментарий от vurdalak

Тупняк какой-то. У большинства языков есть гайдлайны, которые оговаривают в том числе и отступы.

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

Xintrea ★★★★★
() автор топика

Кто-то что-то хочет возразить?

Аргументы высосаны из пальца. Почему именно 45°? Почему не 38 или 69.96?

Сам использую отступ в 4 пробела (ставятся одним нажатием на таб), потому что при двух как-то всё же недостаточно выразительно, а при 8 съедается много места.

Psych218 ★★★★★
()
Ответ на: комментарий от Xintrea

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

vurdalak ★★★★★
()
Ответ на: комментарий от Xintrea

Это самая бредовая мысль, какую я только слышал. Все время натыкаюсь на проекты, где табы перемежаются с пробелами.

Это всё эмоции. Не перемежай — не будет проблемы.

Sadler ★★★
()

Таб шириной 4 пробела

Sparx ★★
()
Ответ на: комментарий от vurdalak

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

Вот, об том и речь. Мы же тут рассматриваем обоснованный оптимальный размер отступа.

Xintrea ★★★★★
() автор топика
Ответ на: комментарий от Psych218

Почему именно 45°? Почему не 38 или 69.96?

Потому что это именно то значение, при котором отступ становится отступом с визуальной точки зрения.

Xintrea ★★★★★
() автор топика
Ответ на: комментарий от Xintrea

Мы тут рассматриваем очередной гайдлайн от анонимуса. Выбранный рандомный угол и якобы удобство — это не обоснование ни разу.

vurdalak ★★★★★
()
Ответ на: комментарий от Xintrea

Потому что это именно то значение, при котором отступ становится отступом с визуальной точки зрения.

Какая-то теоретическая база под этим есть? Или просто одному конкретному анонимусу именно так кажется минимальным для выразительности? Мне вот кажется, что при 45° крупные вложенные фрагменты выделяются недостаточно.

Psych218 ★★★★★
()

на более меньший угол

ААААА

gagarin
()
Ответ на: комментарий от outtaspace

Лорчую!

$ cat ~/.textadept/properties.lua 
buffer.tab_width = 4
buffer.use_tabs = false

sT331h0rs3 ★★★★★
()

Кто-то что-то хочет возразить?

С чего он взял, что граница между выразительным и невыразительным лежит на 45⁰? Были проведены какие-то исследования? А может, что гораздо более вероятно, чуваку просто нравится красивая цифра?

prischeyadro ★★★☆☆
()

2 мало. 4 — в самый раз!

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Xintrea

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

sevenredlines
()

Минимально достаточный отступ получается при визуальном смещении линии отступа на 45 градусов.
Если на более больший - происходит необоснованное расползание кода по ширине.

Кто-то что-то хочет возразить?

Не, пусть это сделает Линус:
Now, some people will claim that having 8-character indentations makes the code move too far to the right, and makes it hard to read on a 80-character terminal screen. The answer to that is that if you need more than 3 levels of indentation, you're screwed anyway, and should fix your program.

На рефакторинг, быдло.

winlook38 ★★
()
Ответ на: комментарий от winlook38

The answer to that is that if you need more than 3 levels of indentation, you're screwed anyway, and should fix your program.

Чушь-то какая.

≥9 табов:

~/Dropbox/Projects
grep -RnP "^\t\t\t\t\t\t\t\t\t" |wc -l
996
≥10 табов:
grep -RnP "^\t\t\t\t\t\t\t\t\t\t" |wc -l
851
11:
grep -RnP "^\t\t\t\t\t\t\t\t\t\t\t" |wc -l
801
12:
grep -RnP "^\t\t\t\t\t\t\t\t\t\t\t\t" |wc -l
6
И даже 16:
grep -RnP "^\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t" |wc -l
2
!!!

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от winlook38

Unfixable же! И как ты бешеный КА fix собираешься? Расфигачивать все на inline-функции, запускаемые единожды? И нафига?

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Xintrea

AStyle в помощь таким проектам.

По теме: сейчас использую почти везде 4 пробела (asm - 8). Хочу перебраться на 2, но еще в размышлениях.

Deleted
()

табы для отступов (indent), пробелы для выравнивания (align) ширину таба выбирайте какую душе угодно

t1nman
()
Ответ на: комментарий от Eddy_Em

Вполне понятно.

Хотя да, 4 тоже неплохо.

Но для сишки я бы перешёл на 2: не всегда вмещаюсь в 80 по ширине, чего пытаюсь избежать.

А вот в java нормай считается 120 в ширину. И тут уже 4 пробела - минимум.

Deleted
()

Какими должны быть отступы в коде?

Такими, как решит автор/лидер проекта. Чучоные-эргономисты идут нах.

FedyaPryanichkov ★★
()
Ответ на: комментарий от Eddy_Em

И нафига?

Потому что Он сказал should.

Я надеюсь, ты не воспринимаешь мой ответ на вброс ТСа всерьез?
Ну а по поводу твоего «нафига» - так советуют ведущие писатели модных книжек. Они даже на исследования ссылаются и друг на друга. Как это должно реализовываться конкретно в C, я хз.

winlook38 ★★
()
Ответ на: комментарий от Xintrea

Виновата типографика

Все время натыкаюсь на проекты, где табы перемежаются с пробелами. Смотреть на это больно, форматирование съезжает шо пипец.

В проекте нет правил оформления кода, либо управляющий этим проектом не в силах их насадить. Читающий этот код не в силах запустить бьютифаер. А виноваты кто? Знаки табуляции. Это самая бредовая аргументация, которую я только слышал.

Camel ★★★★★
()

Согласно принятым стандартам и особенностям синтаксиса, например:

set tabstop=4
set shiftwidth=4
set expandtab
au FileType makefile setlocal noexpandtab
au FileType python setlocal softtabstop=8
PolarFox ★★★★★
()
Ответ на: комментарий от t1nman

табы для отступов (indent), пробелы для выравнивания (align)

Осталось только научиться это объяснять людям.

i-rinat ★★★★★
()

Я, кроме скриптов на баше и питоне, ничего не пишу, и всегда пользуюсь только табом для отступов.

Deleted
()

на более меньший угол

tiandrey ★★★★★
()

Правильно — перестать использовать отступы в хранимом формате. Хранить сорцы нужно в виде потока токенов, точно также делать дифф/патчи, а как там оно показывается на экране у очередного эстета — дело эстета. Мне лично хотелось бы выделять для себя/других код жирным, увеличивать шрифт, тегировать куски кода (для скрытия/расцветки/поиска/etc в разных режимах), скрывать common-префиксы, втыкать обсуждение по месту и использовать прочие визуальные подсказки и подходы к разработке. Многие решения в языках (e.g. namespaces, layout) это синтетическая попытка на одном уровне решить проблему другого. Но моноширинные текстовые сорцы и // FIXME XXX это легаси, которое нас не скоро отпустит.

arturpub ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.