LINUX.ORG.RU
ФорумTalks

[холивар][отступы] tab vs spaces

 


0

0

сабж, собсна.

Я предпочитал всегда 4 пробела, но тут ради прикола решил сравнить мои исходники с исходниками линукса (там, как известно, индетация делается табом). Получилось, в ядре линукса индетация занимает 4% от размера исходников. А у меня - 15% (всего пробелы занимают 25%, но 10% из них не имеют отношения к отступам). Итого при одиноковом коде мои исходники будут на 9% больше по размеру (я вообще-то ожидал большего, ведь если подумать, даже при втором уровне отступов на каждую строчку на отступ будет уходить 8 пробелов, в отличии от 2х табов у "табового" кода).

Меня как педанта по натуре очень смущают лишние 9% кода. А вас?


Всегда выбирал табы. Удобнее быстрее и практичнее, какой смысл вообще пробелить? :)

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

Да, я как педант (или не педант) "измеряю" код строками.

Werehuman ★★
()

Даже гедиту можно сказать, что таб это четыре пробела. А более нормальные редакторы умеют конвертить.

PolarFox ★★★★★
()

> tab vs spaces
ohshi~ not again

xorik ★★★★★
()

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

Тем, кому нужны отступы, подсветка — ламерье тупое. Я начинал программистом ещё во времена ассемблера, там были лишь одни профи. Программы сносные можно было писать лишь после защиты диссертации. А сейчас? Развелось псевдо-прогеров, ужас. Но с этой быдлятиной тупорылой приходиться, все же, работать. Как мартышка завопит про отступы в моем коде (я выполняю самые отечественные участки) - сразу увольняю без выходного пособия. Может дойдет, может после этого учиться начнет. Либо из сферы уйдет. Таким только в макдональдсе парашу в туалете убирать.

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

Вот из-за таких идиотов и появляется индусокод. Размажь себя по плоскости с помощью стенки. Спасибо.

PolarFox ★★★★★
()

Проценты пофиг. А вот удобство редактирования и унификация давно породили у меня привычку ставить только табы.

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

> Вот из-за таких идиотов и появляется индусокод. Размажь себя по плоскости с помощью стенки. Спасибо.

Слыш, деточка, ты сначала добейся хоть промилле от того, что Индия поставляет, а потом вякай. Индия - передовая страна в области IT. Эта страна - лишь экспортер газа.

И ещё раз. От отступов разжижается мозг и снижается квалификация. Поверьте моему опыту насчитывающему не один десяток лет. Я за свои слова отвечаю и всегда могу их обосновать. И лялих такой убогий именно из-за отступов в коде. Его пишут макаки.

kajematez
()

В кернеле табы ;-)

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

> И лялих такой убогий именно из-за отступов в коде. Его пишут макаки.

Истиная правда, а еще истинные Ъ все пишут 1 строкой. А для оптимизации ядра на чуть более чем 9к нужно прогонять исходники через скрипт выкидывающий все ненужные пробелы - тоже известный факт.

Rapt0r
()
Ответ на: комментарий от kajematez

> И ещё раз. От отступов разжижается мозг и снижается квалификация.

На беду свою я не программист, но величие этой фразы даже я могу оценить. В lorquotes!

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

> Истиная правда, а еще истинные Ъ все пишут 1 строкой. А для оптимизации ядра на чуть более чем 9к нужно прогонять исходники через скрипт выкидывающий все ненужные пробелы - тоже известный факт.

Спасибо. У сего ресурса не все потеряно. Хоть один адекватный нашелся.

Единственно, что в одну строчку весь модуль не всегда удобно. Все же нужно разбивать по абзацем. Я привык так: одна функция/метод - один абзац. Т.е. код выглядит визуально как простой текст. Человек издревле привык именно к такой подаче информации. Эта система складывалась и шлифовалась тысячелетиями. И не смейте все ломать!

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

Печально все это.

kajematez
()
Ответ на: комментарий от Terrens

> Кто-то еще ставит в отступах пробелы? ^_^

Питонисты же :)

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

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

>Я начинал программистом ещё во времена ассемблера

мсье пафосный тролль соизволит предоставить ссылки на свои мега-разработки? Хоть будет над чем посмеяться

nu11 ★★★★★
()

Интересно, я думал большинство будет за пробелы, потому что все книги и статьи по "хорошему" стилю (кроме CodingStyle от Линуса) рекомендуют пробелы, т.к.:
- 8 пробелов всегда останутся 8 пробелами, не зависимо от редактора и его настроек. Код будет выглядеть одинаково у всех.
- может случится так, что кодер подредактирует файл редактором, который на клавишу tab напишет n пробелов. В итоге у другого юзера, особенно, если у него размер таба другой, код будет типа такого:
---
        if (foo) {
                bar();
    qux();
            }
---

п.с. можно ли как нибудь устроить голосование, чтобы более точно оценить предпочтения чреди ЛОРевцев?

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

> Даже гедиту можно сказать, что таб это четыре пробела.

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

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

Зачем спорить? Табы переконвертируются в пробелы и обратно парой кликов в редакторах (geany например)

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

отступы нужны. это факт. вопрос - что для них разумней испрользовать - табы или пробелы.

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

> > Даже гедиту можно сказать, что таб это четыре пробела.

> Если вам хочется делать отступы в 4 знака, делайте их пробелами, потому что таб - 8 знаков. Потом кто-нибудь другой откроет ваш код с табами и в некоторых местах выравнивание поплывёт так, что лучше бы его там не было вообще.

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

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

>может случится так, что кодер подредактирует файл редактором, который на клавишу tab напишет n пробелов

А ещё можно дверью… ☺

Deleted
()
Ответ на: комментарий от xorik

> Табы переконвертируются в пробелы и обратно парой кликов в редакторах (geany например)

суть не в этом, конвертировать-то конечно как пальцем об асфальт (aka :set et, :retab). Вопрос - что в конечном счете должно использоваться для индентов, или по-другому - во что конвертировать ты хочешь?

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

> 8 пробелов всегда останутся 8 пробелами, не зависимо от редактора и его настроек. Код будет выглядеть одинаково у всех.

По-моему, это минус, а не плюс. Код не должен выглядеть одинаково у всех, а у всех он должен выглядеть привычно. Если я привык к размеру таба, например, 2, то это не значит, что тот, у кого размер таба — 4 должен под меня подстраиваться. Я однозначно за табы.

the_one
()
Ответ на: комментарий от kajematez

> Спасибо. У сего ресурса не все потеряно. Хоть один адекватный нашелся.

вот именно. И вообще, нужно ядро переписать на шелле. Все должно быть огромным пайпом и работать как слаженный механизм.

Вот, например, я 100-е число фибоначчи на шелле считаю:

echo 0010011 | sed 's/\(.\)/\1@/g' | tr @ \\n | awk -vc='1 0 1' -vm='0 1 1' '{ split(m,a); split(c,b) } $1>0 { $1="(" b[1] "*" a[1] "+" b[2] "*" a[2] ")"; $2="(" b[1] "*" a[2] "+" b[2] "*" a[3] ")"; $3="(" b[2] "*" a[2] "+" b[3] "*" a[3] ")"; c=$0 } { $1="(" a[1] "*" a[1] "+" a[2] "*" a[2] ")"; $2="(" a[1] "+" a[3] ")*" a[2]; $3="(" a[2] "*" a[2] "+" a[3] "*" a[3] ")"; m=$0 } END { split(c,b); print b[2] }' | bc

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

>- может случится так, что кодер подредактирует файл редактором, который на клавишу tab напишет n пробелов. В итоге у другого юзера, особенно, если у него размер таба другой, код будет типа такого:

как раз таки при использование пробелов такая лажа и вылазит, а в табах ну будет везде 4 либо везде 8

st0ke
()
Ответ на: комментарий от gln0fate

> а 1000! слабо?

{ seq 1 1000 | tr \\n '*'; echo 1; } | bc

-- Поклоняйся Единому Пайпу

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

>а 1000! слабо?

а вам? Там вообще то echo 0001011111 | (здесь тоже самое) и всё, как я понял)

st0ke
()

4 пробела на отступ.

И ниибаца.

И в строке - строго не более 80 символов.

p.s. а потом её некоторым табодрочерам хватает наглости возмущаться, что их быдлохтмл код с их быдло div-ами выглядит по быдловски в некоторых быдлобраузерах.

p.p.s. Если ваш код нельзя без рвотных позывов прочитать на голом терминале командами more, cat, tail значит он нахуй никому не нужен

p.p.p.s. раз ты такой педант, предлагаю удавиться из за того, что шрифт в редакторе занимает аж 18 пикселей в высоту. Хуле, и 8 должно хватить за глаза, надо ж, блять, место на экране поэкономить

r_asian ★☆☆
()

Табы!
Таб несёт семантическую нагрузку об уровне вложенности, тогда как пробел (или четыре их) лишь визуально это отображают.
Ну или Пробелы!
Так как при разных настройках редакторов исходные коды никуда не поплывут и везде будут смотреться одинакого. А ненапрягающая коммуникация между разработчиками это хорошо.
А вообще говоря, Пофигу!
Потому как действительно пофигу.

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

> Я начинал программистом ещё во времена ассемблера, там были лишь одни профи.

Свои первые программы на ассемблере я писал после 4-го урока по ассемблеру (и 33-го по информатике вообще). Даже работали. Не критерий.

Кстати, как ты ассемблер форматируешь? Тоже в одну строку? Или как "Люцифер" предпочитаешь двоичные числа?

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

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

> Таким только в макдональдсе парашу в туалете убирать.

Ты что, ни разу там не бывал? Думаешь, раз в школе-колонии, где ты живёшь, параша, то и в других общественных местах тоже унитазов не бывает?

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

> быдлохтмл код

судя по всему r_asian чаще всего имеет дело именно с "быдлохтмл кодом"( раз зацепил именно он ), вывод - r_asian сам быдлокодер

lester ★★★★
()

По теме: как было в программе до меня, так и оставляю. Чтоб стиль был единообразным. А в одноразовых поделках — по настроению.

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

> судя по всему r_asian чаще всего имеет дело именно с "быдлохтмл кодом"( раз зацепил именно он ), вывод - r_asian сам быдлокодер

дык! быдлокод, бодлопрогер и т.п. это разве не к яве относится, не?


зы: толсто?

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

>Интересно, я думал большинство будет за пробелы, потому что все книги и статьи по "хорошему" стилю (кроме CodingStyle от Линуса) рекомендуют пробелы

С таким подходом нужно использовать исключительно визуальную разметку в HTML. Ибо <b>...</b> всегда останется полужирным, в отличии от <div class="impirtant">...</div>

:)

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

>Потом кто-нибудь другой откроет ваш код с табами и в некоторых местах выравнивание поплывёт так, что лучше бы его там не было вообще.

Можно пример, где форматирование отступами поедет при смене размера табуляции?

...

А так - да. Откроешь ты web-страницу с нестандартным CSS - такоооое можно получить. Так что - ну её, нафиг, логическую разметку! :)

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

>Табы переконвертируются в пробелы

Да.

>и обратно

Нет.

Например, выделение HEREDOC'ов и, вообще, строк задачей может быть уже нетривиальной.

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

>Я имел ввиду, что при нажатии на таб вводятся именно пробелы, что есть хорошо и замечательно.

Зато при нажатии на Backspace пробелы в общем случае стираются уже по одному, что не есть хорошо и замечательно.

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