LINUX.ORG.RU
ФорумTalks

Табы против пробелов. Да снова.

 , ,


0

1

Здравствуйте мои дорогие любители красиво отформатированного кода.

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

А тут за его убеждения у кого-то не будет кекса

https://www.youtube.com/watch?v=tSIfHvgVeQg

★☆☆

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

Даже не знаю кто из них двоих в ролике более упорот, он или девушка, ставящая отступы четырьмя нажатиями клавиши пробел :)

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

Если ты хочешь сказать, что в Хаскеле нет фиксированных уровней индентации (или он только оди), моя фраза всё равно применима %)

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

Так-то ролик ни про табы ни про пробелы.

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

ИЧСХ у обоих макбуки. Совпадение? Не думаю.

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

Безотносительно маразматичности концепции «Indent with tabs, align with spaces» хаскельные исходники от неё не ломаются. Даже в модах настройка есть соответствующая.

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

Что-то между 4.2 и 4.3. Хотя сам им не пользуюсь.

Klymedy ★★★★★
()

2 пробела, которые <ide name> вставляет сама по табу. Любители табов да еще и 8 пускай убьются. А вставлять нужное количество пробелов по табу умеет практически любая ide, и не только (sublime для веб программистов, и многие другие), и нормально такие сорцы открывать.

Pentium02 ★★
()
Ответ на: комментарий от tailgunner
prop_lookup :: ValidPaths -> NonEmptyFilePath -> Bool
prop_lookup (ValidPaths paths) (NonEmptyFilePath p) =
  case (lookup index p, Prelude.lookup p paths) of
    (Nothing,                    Nothing)          -> True
    (Just (TarFileEntry offset), Just (_,offset')) -> offset == offset'
    (Just (TarDir entries),      Nothing)          -> sort (nub (map fst entries))
                                                   == sort (nub completions)
    _                                              -> False
  where
    index       = construct paths
    completions = [ head (FilePath.splitDirectories completion)
                  | (path,_) <- paths
                  , completion <- maybeToList $ stripPrefix (p ++ "/") path ]
kirk_johnson ★☆
()
Ответ на: комментарий от kirk_johnson

Тогда не ясно, в чём признание заключается. Мне вот комфортнее всего читать с отступами в два пробела, даже четырёх много, а восемь так вообще за гранью добра и зла.

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

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

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

В C/C++ мне куда удобнее использовать tab + spaces. Там это действительно делает код лучше и читаемее.

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

Кстати, вынужден признать, аргумент весомый. Правда, пока единственный.

nezamudich ★★
()
Последнее исправление: nezamudich (всего исправлений: 1)
Ответ на: комментарий от kirk_johnson

Потому что там и indent, и align сделаны табами. Это тоже ересь. А когда так, как я сказал, можно поставить любой размер таба и всё нормально.

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

Ну вот смотри:

#define my_super_macro(x) do {        \
	if (x == 5) {                 \
		printf("penis\n");    \
		printf("vaginas\n");  \
	}                             \
} while (0)

а теперь скопируй это в vim, сделай ts=2 и смотри.

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

Самая жесть начнётся тогда, когда indentation надо будет делать внутри alignment. Это месево в начале строки а-ля «таб-пробелы-таб-таб» будет однозначно проклято авторами емаксовых модов.

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

Месиво должно быть проклято, конечно, но я говорю о контролируемом переходе :)

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

Так пусть эти отсталые с ламповыми мониторами и поставят себе ширину таба в два символа, ибо это их личные проблемы

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

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

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

Специально придуманный хипстерами-имбецилами дрочащими на пробелы язык.
Оч современно, да.

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

Это можно было бы исправить, если не дурацкое правило про скачки таба до ближайшей кратной позиции. Тогда можно было бы отступ в конце первой строчки дополнить двумя табами, второй и пятой — одним табом, а третью и четвёртую не дополнять. В общем, требовалось бы сохранить суммарное количество табов в каждой строке.

Наркота дикая.

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

Табы никогда не должны быть не в начале строки

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

Ещё раз, посмотри на приведенный мною пример. Индентация табами, align пробелами. Все едет. Если ты сделаешь вместо переноса строки таблицу с форматированием, она тоже поедет.

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

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

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

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

Ничего не поедет, если руки не из жопы растут
Просто берёшь и пишешь вот так:

#define my_super_macro(x) do {
  if (x == 5) {
    printf("penis\n");
    printf("vaginas\n");
  }
} while (0)

и все довольны

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

Окей, ты нашел один сломанный юзкейс. И какой вывод ты делаешь из факта его существования?

Что этот юскейс сломан.

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

А мсье имеет очень экстравагантные научные вкусы, однако.

Этот мсье весьма толстый и высокомерный тролль :)

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