Табы или пробелы? ➡️ Почему мы повернули не туда и как табы помогают

00:00 Интро
00:27 Типы отступов
00:58 В чём разница
01:27 Пример в редакторе
02:29 Настройка таба
04:05 Настройка пробела
04:38 Личный опыт
06:09 Польза при выводе
07:56 Доступность отступов
09:04 Табы на Гитхабе
10:20 Выводы
11:11 Аутро
Нравится? Становитесь патронами / pepelsbey
Демо с адаптивными табами pepelsbey.github.io/playgroun...
Is it a good idea to adjust your tab-size based on viewport width? / 1033115863333957632
Ugh, people who indent with spaces need to Get Over Themselves / 1032740067956023297 )
* * *
Камера: Sony A7C
Объектив: Sony 24-70 мм, f/4
Микрофон: Audio-Technica BP40
Свет: Amaran 200d + Light Dome
Софт: DaVinci Resolve, iZotope RX

Пікірлер: 275

  • @pepelsbey
    @pepelsbey2 жыл бұрын

    00:00 Интро 00:27 Типы отступов 00:58 В чём разница 01:27 Пример в редакторе 02:29 Настройка таба 04:05 Настройка пробела 04:38 Личный опыт 06:09 Польза при выводе 07:56 Доступность отступов 09:04 Табы на Гитхабе 10:20 Выводы 11:11 Аутро

  • @efimov90

    @efimov90

    2 жыл бұрын

    Ладно, ок, убедили насчет проблем с доступностью, но что делать, если нужно выровнять код "по колонкам" и добавление символов постоянно рушит вид "колонок"? Есть ли какое-то решение? или тут без пробелов не обойтись? Пользуюсь VisualStudio (C#)

  • @eugenetheroad8436
    @eugenetheroad84362 жыл бұрын

    Ну наконец-то, кто-то заступился за несправедливо униженные табы!

  • @VIMPdev
    @VIMPdev2 жыл бұрын

    Всегда был сторонником табов, а потом увидел что в редакторе у меня, оказывается, все это время стояли пробелы))

  • @user-dv9fk1hd3s
    @user-dv9fk1hd3s2 жыл бұрын

    "Самая неконфликтная тема" "табы или пробелы" оценили масштаб иронии?

  • @pepelsbey

    @pepelsbey

    2 жыл бұрын

    Ирония!

  • @DimaTiunov

    @DimaTiunov

    2 жыл бұрын

    @@pepelsbey постирония

  • @pilyugin
    @pilyugin2 жыл бұрын

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

  • @fatalyst
    @fatalyst2 жыл бұрын

    А ещё от длины отступа может зависеть степень усталости (или сосредоточенность) от прочтения кода. Например, если некоторым удобнее отступ в 4 символа, а в их проекте принято 2, то так и сидят, мучаются... пьют больше кофе... курят больше сигарет... портят глаза... ну, вы поняли ;)

  • @artanik94
    @artanik942 жыл бұрын

    На github ещё можно использовать ?ts=8 в URL, если нет возможности свой .editorconfig закоммитить 🤔

  • @AlexWayfer

    @AlexWayfer

    2 жыл бұрын

    Считаю, должно быть в настройках проекта и/или аккаунта, как для этого есть issue в GitLab.

  • @andreysokolov2335
    @andreysokolov23352 жыл бұрын

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

  • @iKorewBro

    @iKorewBro

    2 жыл бұрын

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

  • @wrGraff1
    @wrGraff12 жыл бұрын

    Вадим сделал невозможное. Записал видео про табы vs пробелы, которое собрало за 3 недели всего 31 дизлайк за 13,5 тысяч просмотров. Гений! Ну а если совсем серьезно, то впервые вижу объективный взгляд на этот вопрос, а не столкновение мнений о вкусах.

  • @phoenixtf

    @phoenixtf

    2 жыл бұрын

    Никогда не понимал, какие тут могут быть вкусы. И конечно очевидно что табы практичнее, ну хотя бы исходя из 1 байт vs 4 байта, откуда взялась мода на пробелы и как это допустило сообщество, до сих пор мне неведомо

  • @user-zh5kg2op4h
    @user-zh5kg2op4h2 жыл бұрын

    Вообще табы изначально были придуманы для табуляции. Выравнивания по горизонтали в стиле таблицы. Формат CSV построен на их использовании. В Microsoft Word и других текстовых процессорах можно задавать конкретные места, куда будет переводить Таб. Очень удобно использовать для выравнивания, не громоздя лишние таблицы. В статье Википедии «Табуляция» приведён прекрасный пример (интересно, отобразится ли он тут правильно): «Если отправить на печать текст (символ табуляции обозначен стрелкой) один→два→три→четыре 1→2→3→4 5→6→7→8 9→10→11→12 получим такую распечатку: один два три четыре 1 2 3 4 5 6 7 8 9 10 11 12» Табы никогда не предназначались для отбивки строк. Однако, как и многие другие ASCII-символы их стали использовать как подручное средство не по своему прямому предназначению. Именно поэтому с ними много проблем. Например, место ошибки в стек-трейсе выдаёт позицию символа, по которой можно перейти на нужное место в редакторе. Но если используются табы, она не будет соответствовать номеру колонки в редакторе. Где-то это можно настроить, но настраивать надо специально. Кому-то неудобен даже тот факт, что курсор сбивает позицию при перемещении между строк, так как он не может быть «посередине» таба. Бывают и более специфичные ошибки в среде линуксовых-инструментов. Да, если у вас всё настроено, и вы не сталкиваетесь с такими проблемами, то с табами вполне можно жить. Но пробелы же просто работают. Поэтому и получили повсеместное употребление.

  • @user-zh5kg2op4h

    @user-zh5kg2op4h

    2 жыл бұрын

    К слову, Таб не везде работает для ввода текста. В том же HTML-элементе таб будет переводить фокус на следующий элемент. Это поведение иногда перебивают в с помощью скриптов, но тогда возникает проблема с доступностью: как выйти из ловушки фокуса в элементе и переключить фокус дальше?

  • @fagcinsk

    @fagcinsk

    Жыл бұрын

    *формат TSV. CSV дословно Comma-Separated Values.

  • @leem0ne
    @leem0ne2 жыл бұрын

    Спс, из видео про табы узнал про decimal-leading-zero для counter. Жить стало легче, жить стало веселей.

  • @Alex-wl8rx

    @Alex-wl8rx

    2 жыл бұрын

    точно)

  • @leonid_konoplin
    @leonid_konoplin2 жыл бұрын

    вот это вклад в тему!!! супер аргументация

  • @user-dv9fk1hd3s
    @user-dv9fk1hd3s2 жыл бұрын

    - Пробелы лучше чем табы - Чем лучше? - Чем табы

  • @user-te1ut5ev8w
    @user-te1ut5ev8w2 жыл бұрын

    Здравствуйте! Благодарю за видео и за упоминание про проблемы слабовидящих разработчиков!

  • @iKorewBro

    @iKorewBro

    2 жыл бұрын

    Вадим - самый главный борец за права и удобства слабовидящих/слышащих людей )) Может звучит как шутка или ирония, но на самом деле я серьёзно, хоть и с улыбкой )) Впрочем любой, кто посмотрел все видео на этом канале, со мной согласится

  • @demven04
    @demven042 жыл бұрын

    Очень крутой выпуск, перевернул мне сознание )

  • @user-nc9bb8ps6m
    @user-nc9bb8ps6m Жыл бұрын

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

  • @ffgsfds
    @ffgsfds2 жыл бұрын

    Когда врывался в АЙТИ программистом на Си, везде использовали табы и это было круто. Потом перешёл в Питон, а там пробельчики и я такой meh, но привык. Потом ушёл на фронт, пробелы сохранились автоматически и тут я такой ВАУ, ТОЧНО, ТАБЫ ЭТО ЖЕ БЫЛО ТАК КРУТО! Пойду переведу на них все свои пет проджекты Спасибо, Вадим!

  • @PaulKolbovich
    @PaulKolbovich2 жыл бұрын

    Никогда на задумывался про преимущество доступности табов перед пробелами. Было познавательно и заставило задуматься. Спасибо, Вадим.

  • @user-august84
    @user-august842 жыл бұрын

    Всецело поддерживаю. Устал бороться по этой части со своими программистами.

  • @andreigunderin
    @andreigunderin2 жыл бұрын

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

  • @zealot4325
    @zealot43252 жыл бұрын

    Отличное видео, не задумывался, что у использования табов есть такие детали

  • @draftermyself
    @draftermyself2 жыл бұрын

    очень хорошие, современные, ламповые и тем не менее важнейшие рассуждения в выпусках!

  • @ThisIsGreenRoom
    @ThisIsGreenRoom2 жыл бұрын

    Спасибо за очень полезное видео. Надо будет поэкспериментировать с табами )

  • @AlexandroPanize
    @AlexandroPanize2 жыл бұрын

    Понравилось видео. Всегда использовал пробелы, и даже не задумывался над табами. Сейчас задумаюсь

  • @a.n.burdin
    @a.n.burdin2 жыл бұрын

    Спасибо, за информацию. Очень интересно

  • @ArtemBurlaka
    @ArtemBurlaka Жыл бұрын

    Работаю с разного рода кодом лет 20 и до сих пор использую табы и ненавижу пробелы. Так и не понял, почему пробелы исторически одержали верх, очень надеюсь что постепенно все вернутся в использованию табов. Это ж как минимум для кода на 3 символа экономнее!

  • @SamaraDjVitek
    @SamaraDjVitek2 жыл бұрын

    Спасибо за видео! У меня не так много опыта работы в разных проектах и командах, и мне не приходилось выбирать - пробелы или табы, всегда было два пробела :) Согласен с тем, что табы удобнее и более гибкие! Буду пробовать перейти на них в своих проектах. Но думаю, что рано всё равно на двух стульях не усидишь, и придётся выбирать что-то одно.

  • @mikokush
    @mikokush2 жыл бұрын

    Красава! Переходим на табы!)

  • @sergeykozhenkov371
    @sergeykozhenkov3712 жыл бұрын

    классное ненапряжное пятничное видео :) Идея для следующего: делать табы по-фэншую, которые на сайте

  • @alex87950
    @alex879502 жыл бұрын

    Вадим, спасибо большое за твою работу и полезные видео. Интересно было бы услышать от тебя про настройку проекта с ESLint + Prettier

  • @pepelsbey

    @pepelsbey

    2 жыл бұрын

    Prettier будет, с ESLint большого опыта не было

  • @PhilippeRigovanov
    @PhilippeRigovanov2 жыл бұрын

    Спасибо, Вадим, по крайней мере меня ты убедил: табы - недооценивают! P.S.: Принт на футболке прикольный!

  • @yourbadapple
    @yourbadapple2 жыл бұрын

    Спасибо за видео, лайк

  • @nugget_sti
    @nugget_sti Жыл бұрын

    было полезно, спасибо!

  • @F1ayOne
    @F1ayOne2 жыл бұрын

    Спасибо тебе, очень полезно

  • @NOX_69RUS
    @NOX_69RUS2 жыл бұрын

    Спасибо большое! Про гитхаб не знал. Пошел конфиг сделаю

  • @horlonangel
    @horlonangel2 жыл бұрын

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

  • @programisli
    @programisli2 жыл бұрын

    Я тоже за табы, но такие как мы проиграли просто потому, что в VS Code по умолчанию именно пробелы и никто не меняет. И чтобы избежать мусора в оформлении и проблем в GIT я сдался и тоже использую пробелы.

  • @zapiski_verstalshika
    @zapiski_verstalshika2 жыл бұрын

    Табы - классная штука. Kогда только начинал работать, не обращал на это внимание. Но давно заметил что табы удобнее. Все хочу сделать глобальный editorconfig, да руки не доходят. Как всегда лайк и спасибо)

  • @user-kg2uk3jf2z
    @user-kg2uk3jf2z2 жыл бұрын

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

  • @eugeniu.
    @eugeniu.2 жыл бұрын

    При виде заголовка сразу вспомнил эпизод из “Silicon Valley” 😁

  • @pepelsbey

    @pepelsbey

    2 жыл бұрын

    Не смотрел сериал, но видел сцену )

  • @AnatolyKosorukov

    @AnatolyKosorukov

    2 жыл бұрын

    @@pepelsbey Тот самый отрывок: kzread.info/dash/bejne/pod9yKqvl7nLgco.html (lang="ru") kzread.info/dash/bejne/haejsalvisjfhaw.html (lang="en")

  • @evgenepanchin661
    @evgenepanchin6612 жыл бұрын

    в обоих случаях используешь одну и ту же кнопку tab или shift+tab при написании кода. Остается лишь вопрос отображения - из-за чего в "древние времена" и появился этот спор. К тому же на это всё накладывает свой отпечаток "стандарт" написания кода на том либо другом языке ("Наше сообщество решило что нужно писать так, и нам всё равно как пишут в вашем сообществе"). Кто-то ставит фигурные скобки на той же строке, кто-то переносит на новую, кто-то предпочитает не ставить фигурные скобки, а кто-то считает, что фигурные скобки должны быть всегда. Единого "стандарта" для всех языков не существует :(

  • @DonGun-zh3di
    @DonGun-zh3di2 жыл бұрын

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

  • @astrotrain
    @astrotrain2 жыл бұрын

    Если начинаю проект я, то придерживаюсь стандартов, у js например 2 пробела, у питона и пхп читал что 4 . Главное, чтобы был эдитор конфиг с принудительной настройкой всех редакторов в единый стиль проекта, а так пофиг, всё равно жать клавишу таб для любых отступов.

  • @user-kl4yk8tm2b
    @user-kl4yk8tm2b2 жыл бұрын

    Убедительно. Я поверил.)

  • @misatokatsuragi9122
    @misatokatsuragi91222 жыл бұрын

    В ядре linux отступы 8 пробелов для того, чтобы не раздували код и не уходили в большую вложенность

  • @proglite3499
    @proglite34992 жыл бұрын

    tab настроенный с двумя проблемами, визуально удобно, а что еще нужно

  • @rodigy

    @rodigy

    2 жыл бұрын

    на кой он нужен в 2 пробела

  • @sunfurry

    @sunfurry

    2 жыл бұрын

    @@rodigy вот согласен. Всегда пишу код в табах в 4 пробела, всё сразу становится максимально читаельным. Но часто вижу, что люди пишут в 2 пробела, но причин не вижу ни одной

  • @ivangagarinov4127

    @ivangagarinov4127

    2 жыл бұрын

    @@sunfurry например легаси с калбэк-хелом

  • @pavelhamanovich4951
    @pavelhamanovich49512 жыл бұрын

    Сразу вспоминается язык Вайтспейс, где пробел и таб это конструкции языка en.wikipedia.org/wiki/Whitespace_(programming_language)

  • @beleg

    @beleg

    2 жыл бұрын

    ну или синтаксис sass

  • @SARFEX
    @SARFEX2 жыл бұрын

    Все беды из-за того, что люди используют не подходящие решения для задач. Пробел - интервал обозначающий границы слов. Табуляция - символ для горизонтального выравнивания текста. "Двойные" кавычки - парные знаки для выделения текста. Апостроф' - знак, использующийся для чего угодно, но не выделения текста. Верь wiki. Эти же проблемы и в другой "любимой" Вадимом теме: семантика вёрстки, диватоз. Если делать - как задумано, часто получается лучше.

  • @user-tb3mm6dl3z
    @user-tb3mm6dl3z11 ай бұрын

    Вадим красава

  • @eugenysuglobov4700
    @eugenysuglobov47002 жыл бұрын

    Очень информативно. Позиция моя по вопросу отступов пошатнулась...

  • @user-om5uc4ee7c
    @user-om5uc4ee7c2 жыл бұрын

    Здравствуйте, тёзка! Поделюсь своей болью. Пишу код на 13" дисплее ноута. Для удобства всегда делю редактор на два окна: один для index.html, другой для стилей. Чтобы все грамотно помещалось, приходится часто менять размер отступов. И иногда приходится делать их очень маленькими... Жду, когда смогу приобрести большой монитор! p.s. Спасибо за интересные разборы важных, простых и сложных тем. Механические лайвы всегда по-детски развлекают :)

  • @rogozhka-racing
    @rogozhka-racing2 жыл бұрын

    gofmt принудительно ставит отступы при сохранении и за несколько лет даже не задумывался что там (оказались табы). Хотя в настройках редактора стоит 4 spaces (так получилось). Кажется это неплохое решение. Смотреть можно как хочешь, но при сохранении или коммите в архив уйдет канонический вариант, который может быть настроен для просмотра по-разному.

  • @rebrov-mihail
    @rebrov-mihail2 жыл бұрын

    Хороший канал. Я бекенд-разработчик и обычно на каналы фронтенд-разработке не подписываюсь.... Для вашего канала сделал исключение

  • @user-el6uf5sq7s
    @user-el6uf5sq7s2 жыл бұрын

    Тоже изначально верстал с табами, до тех пор пока не познакомился с препроцессорами stylus, затем sass, pug, yaml. Часто были проблемы при компиляции таких языков, пришлось перейти на пробелы. Вадим вот вы затронули доступность для разработчиков, заметил у разработчиков восточно-азиатских стран(возможно и арабских) в классах css, в переменных и функциях js используется раскладка на их родных языках. У нас же дошло до того, что даже комментарии пишут на английском.

  • @user-oj3lz1wd7i

    @user-oj3lz1wd7i

    2 жыл бұрын

    я только учусь верстать, но уже хватил головной боли с пробелами и табами, работая с pug и stylus. Например, вставляешь свой код в печоницу, а там все навтроено на работу с пробелами...Или втавляешь чужой код, а там на пробелах, и приходится форматировать в пробелы. Страшно парит это все.

  • @AntonDiaz7
    @AntonDiaz72 жыл бұрын

    Это еще не всё. Вот захотел я навести красоту и делать в коде не только отступы, но и выравнивания. Например, в CSS после «-webkit-property: 1px» в следующей строке написал дополнительные 8 пробелов перед «property: 1px». Так я компенсироввл количество символов в префиксе «-webkit-», и оба правила поравнялись друг к другу (так легче увидеть, что значения свойств одинаковы). Если использовать для отступов табы, а для выравнивания - пробелы, то выравнивание сохранится при любых настройках ширины таба. А если для отступов использовать тоже пробелы, а потом проехаться автозаменой, чтобы поменять отступы, то всё выравнивание заруинится.

  • @pepelsbey

    @pepelsbey

    2 жыл бұрын

    На мой взгляд, выравнивание в коде наполняет его сложными и непредсказуемыми элементами «для красоты» и усложняет его поддержку. Пример с префиксами яркий, но как часто после появления Автопрефиксера мы видим такое в коде? Два раза на весь проект, в лучшем случае. Я принципиально использую для разворачивания кода только отступы.

  • @Necroomsk
    @Necroomsk2 жыл бұрын

    Комментарий немного не в тему: крутая футболка!

  • @ilnur-muh
    @ilnur-muh2 жыл бұрын

    Дааа.. Наконец то кто то об этом сказал. Поэтому я всегда использую табы.

  • @GrawlCore
    @GrawlCore2 жыл бұрын

    Добавлю ещё одно: клавиша Backspace стирает либо 1 таб, либо 1 пробел, либо 2/4 пробела (как настроено). Это смущает, когда на проекте пробелы, и приходится жать Shift + Tab вместо Backspace, будто я не с символами работаю, а кодогенерацией пользуюсь чаще. всегда пишу на табах таб таб таб таб таб таб шифт-таб

  • @dear_lucas
    @dear_lucas2 жыл бұрын

    Я тоже сторонник табов. И тоже вынужденно перешёл на пробелы... С удовольствием бы вернулся обратно. Но есть вопрос - как быть с некоторыми типами файлов, в которых исторически сложились отступы, например, в два пробела - JSON? Значит нужно, чтобы во всех остальных файлах у нас были отступы табами = 4 пробела. А в файлах JSON - табы в 2 пробела или просто 2 пробела... Это тоже можно реализовать в эдиторконфиге?

  • @pepelsbey

    @pepelsbey

    2 жыл бұрын

    Да, можно, см. github.com/lp-cast/3lp.11ty/blob/main/.editorconfig

  • @codewithmax
    @codewithmax2 жыл бұрын

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

  • @vladko9623
    @vladko96232 жыл бұрын

    Не разбирался с этим вопросом фундаментально. Для меня - это вопрос комфорта чтения кода. Поэтому я использую Tab.

  • @azizoid
    @azizoid2 жыл бұрын

    Понял что давно не парюсь над тем что выбрать там или пробел. В проектах над которыми работал всегда настроен Prettier

  • @pepelsbey

    @pepelsbey

    2 жыл бұрын

    А вы бы доверили Barberrer постричь вашу голову так же, как все другие? Я к тому, что это прокрустово ложе: не помешаешься - отрежем ножки. Использовать чей-то (плохой, на мой взгляд) стиль кода - это такая же крайность, как постоянно спорить о стиле кода.

  • @user-zj3ih2ux5e
    @user-zj3ih2ux5e Жыл бұрын

    Я не знал, что табы такие удобные. Всегда раньше топил за пробелы.

  • @KlinovAS
    @KlinovAS2 жыл бұрын

    Использую tab, так как это один символ вместо нескольких. Поскольку во всех объявлениях пишет "у нас молодой колектив до 30 лет", то буду показывать пальцем в их сторону. Не знаю откуда все эти новые движения, но не вижу никакого прогресса в целом. Чего только не придумали - язык в языке, но от этого ничего ни быстрей не становится и не лучше и не проще. Молодые люди доказывать что одно лучше другого не имея никакого понятия об двух технологиях одновременно. Каждая технология имеет свои плюсы и минусы и предназначение.

  • @user-mv1dg9fg5m
    @user-mv1dg9fg5m2 жыл бұрын

    Оставил 667-ой лак, не хотел его сначала ставить, но результат важнее визуальных ценностей)

  • @nicktravolta1457
    @nicktravolta14572 жыл бұрын

    Спасибо

  • @WorldworkMay
    @WorldworkMay2 жыл бұрын

    О господи, Вадим. Вы развезли врата ада

  • @silentage6310
    @silentage6310 Жыл бұрын

    тоже когда то табами болел. спасибо за поднятую тему, но тема полностью не раскрыта. вот например код var b = 1, a = 2; тут смысл в том что переменные выравнивают в столбик. или другой пример, когда значения выравнивают в столбик a = [ 'a': => 'test', 'varname' => 'test2', ] в обоих случаях надо будет где то использовать табы, а где то пробелы и следить за этим. но тогда чтобы контролировать это надо включать показ пробельных символов, а они визуально загрязняют код.

  • @pepelsbey

    @pepelsbey

    Жыл бұрын

    То есть если у вас let, то отступ 4 пробела, а если const - 6? Я предпочитаю не заниматься ерундой и не рисовать пробелами, даже когда использую для отступов пробелы. Отступ может быть только один и не для рисования кодом.

  • @nugget_sti
    @nugget_sti Жыл бұрын

    таб в 4 пробела для меня оч удобно)

  • @polosatus
    @polosatus2 жыл бұрын

    Про отображение в браузере и подстройку под себя очень круто, но... Причина перехода на пробелы в командах в частности кроется в разности восприятия/форматирования общего кода. Проблема тут в том, что это не просто отображение (внешний вид) кода, оно влияет и на другие момент. Например: допустим, в кодстайле проекте есть ограничение длины строки в 100 символов. У людей с tab=8 и tab=2 при вложенности даже хотя бы 4, не говоря уже про 8 (что сплошь и рядом в html) разница получающейся длине строки будет огромной (24 и 48 символов соответственно). Поэтому и вставлять переносы такие люди будут в разных местах. У одного всё будет уходить за край экрана, у другого - почему-то переносы будут в середине экрана за километр до ограничения. В итоге - неудобно всем. А так да, табы, конечно, более гибкие.

  • @pepelsbey

    @pepelsbey

    2 жыл бұрын

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

  • @exel001
    @exel0012 жыл бұрын

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

  • @fumanchez
    @fumanchez2 жыл бұрын

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

  • @pepelsbey

    @pepelsbey

    2 жыл бұрын

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

  • @fumanchez

    @fumanchez

    2 жыл бұрын

    @@pepelsbey согласен, очень сильно все смещается вправо. Но оно существует, и некоторые делают это табами, из-за чего многие стали считать их проблемой

  • @MrShnaiderTV
    @MrShnaiderTV Жыл бұрын

    Настраиваем ESLint на табы и никто не сможет сохранить файл с пробелами. Да он и сам при коммите все пофиксит автоматически. Топлю за табы, все конфики настроены на табы, они намного удобнее для всего. Например, мне нравится в js отступ в 4 символа, но все привыкли к двум. Не вопрос, у меня отображается 4, у них 2, все довольны

  • @SemenAlexndrovich
    @SemenAlexndrovich2 жыл бұрын

    Спасибо, Вадим. Никогда на это не обращал внимания и не задумывался. А оно вот оно чё =) Действительно, табы выглядят удобнее

  • @user-august84
    @user-august842 жыл бұрын

    Порядок предложить легко, совсем просто: пробел и табуляция должны быть одним символом, а отображение может зависеть от настроек, как уже было сказано в видео. Выравнивание блока объявления переменных и присваивания значений, выравнивание даже вложенных функций, выравнивание переносов «хвостов» на строку ниже и так далее должны делать сами редакторы кода. Достаточно пробела, чтобы текст сдвигался, как надо.

  • @pavelxbushmakin7252

    @pavelxbushmakin7252

    Жыл бұрын

    Табы для отступа, пробелы для выравнивания

  • @ruslanaliyev8161

    @ruslanaliyev8161

    Жыл бұрын

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

  • @PretorDH

    @PretorDH

    Жыл бұрын

    @@ruslanaliyev8161 Проблема не в табах, а в програмистах. Текст и код отличать надо концептуально...

  • @barkliDetolli
    @barkliDetolli2 жыл бұрын

    Скажите пожалуйста, где можно почитать прям совсем для далеких от веб и понять, в чем различия и проблемы табов и пробелов?

  • @pepelsbey

    @pepelsbey

    2 жыл бұрын

    Я вроде попытался объяснить разницу, ничего сильно больше нет, дальше только вкусовщина, привычки и традиции

  • @barkliDetolli

    @barkliDetolli

    2 жыл бұрын

    @@pepelsbey спасибо за ответ! я просто третий день как изучаю программирование, от кол-ва информации просто мозг разрывается. Думал тут что-то глубже есть между табами и пробелами. Видео отличное!

  • @romandemin8601
    @romandemin86012 жыл бұрын

    Убедительно. Логично. Но... оставляем пробелы.

  • @codisy
    @codisy2 жыл бұрын

    Вадим, NGINX уже настраивали, а планируется ли показать как настроить по феншую webpack для верстальщика? Без всяких реактов и тайпскриптрв, как-то скромно: бабель, отслеживание и перезагрузка страницы, стриминг на локальный ip для доступа со всех устройств в локальной сети(browser sync), чтобы postcss и autoprefixer, imagemin и может еще какие-то полезности для верстки

  • @pepelsbey

    @pepelsbey

    2 жыл бұрын

    Будет повод поработать с Webpack побольше - расскажу :)

  • @sia4281
    @sia42812 жыл бұрын

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

  • @mrin0
    @mrin06 ай бұрын

    !Всё. Пробелы для меня умерли.

  • @AntiSmithhh
    @AntiSmithhh Жыл бұрын

    получается, что если в кодстайле команды можно прописать "отступы - пробелы, табуляция = 4 пробела", то почему нельзя аналогично написать "отступы - табы, табуляция = 4 пробела". как я понимаю, проблема будет возникать с "поехавшими" отступами только в том случае, если нужно разбить например длинный перечень аргументов функции на несколько строк и выровнять это. но опять же... соблюдая кодстайл в любой альтернативе ты не получишь проблем. но с пробелами наверное просто меньше нужно отвлекаться на это с меньшем риском получить характерные проблемы (и не получить характерные преимущества).

  • @PsyHooZ
    @PsyHooZ2 жыл бұрын

    Использую стандарт языка, как завелось - пробелами. Но всегда не понимал зачем использовать 2,4,8 байта для отступа, если можно обойтись 1 байтом. Может в нынешних реалиях такой размер не имеет значения. Но кажется есть переформатировать весь гитхаб в табы (где нет четких различий в языке использования таба или пробела как языковой конструкции), он станет сууущественно меньше по размеру) Может, я в чем-то и ошибся, поправьте меня)

  • @AntiSmithhh

    @AntiSmithhh

    Жыл бұрын

    размера файла - это последнее, что беспокоит. на том же ассемблере теоретически символов для произвольной крупной задачи будет меньше, чем на той же Джаве, например. ток проблема: на ассемблере крупный проект за оставшееся время жизни Солнца не написать.. и тем более - не отладить 😏

  • @drak0an
    @drak0an2 жыл бұрын

    Чтобы вывести на экран код, для пробелов и табов в коде, переданного как текст через переменную нужно писать исключения для метода .trim(), чтобы он их не стирал. Так что пробелы и табы находятся в равном положении как минимум по одной этой задаче. Пока не возникнет существенная разница во многих бытовых задачах из-за стремления сообщества его создать, всегда будет побеждать ленивый вариант.

  • @kmuratov
    @kmuratov2 жыл бұрын

    Да, табы удобнее, потому что можно настраивать их ширину. К сожалению, есть языки где обязательно использование пробелов. Мне нравится, когда инструменты решают эту проблему или выбор за нас. Так, в go есть утилита gofmt, которая форматирует код единственным способом, в том числе заменяет отступы на табы. Это исключает ситуации, когда по ошибке или по незнанию разработчик отформатировал лишнее или отформатировал не так как принято на проекте. Если современные текстовые редакторы с легкостью могут заменить одни пробельные отступы на другие, то почему они не дают возможность задавать ширину отображения пробельных символов, если они форматируют отступы.

  • @renat7797
    @renat77972 жыл бұрын

    Было бы неплохо иметь инструмент похожий на auto CR LF, тогда в репозиторий все попадало бы строго в определенном виде, независимо от личных предпочтений каждого разработчика.

  • @LoudSven
    @LoudSven Жыл бұрын

    Понравился раздел "Польза при выводе". А можно сделать что-то подобное для отображения кода в VS Code? Чтобы, например, когда я разворачиваю vscode на пол-экрана таб с 4 менялся на 2 и обратно

  • @pepelsbey

    @pepelsbey

    Жыл бұрын

    Думаю можно написать расширение для VS Code, которое будет переключать длину таба

  • @Tatsyaable
    @Tatsyaable2 жыл бұрын

    Крутая футболка, Вадим!

  • @supram941g5
    @supram941g52 жыл бұрын

    Насколько я понял единственный довод это то что пробелы не распознаются как табы, почему бы не добавить в редакторы возможность определять табы на основе editorconfig и далее менять на соответствующие. То есть сказать редактору что мне нужно отступ в 4 пробела, если нужно будет открыть проект в котором 8 пробелов отступ (и это описано в конфиге проекта) редактор на лету конвертирует 8 -> tab -> 4 и ничего не надо сохранять при этом, более того можно также конвертировать назад сохраняя то как настроен проект. А проблем с табами больше чем указанная выше (в комментариях уже описали) так что только пробелы и "виртуальная" конвертация в табы.

  • @NecroRomnt
    @NecroRomnt2 жыл бұрын

    Предпочитаю tab, но в приоритете уже сформированные требования команды. Уже привык, что невежество берёт верх над здравым смыслом и зачастую не вступаю в битвы tab VS space.

  • @DmitryAgafonov
    @DmitryAgafonov2 жыл бұрын

    А что там по двойным и одинарным кавычкам? :)

  • @pepelsbey

    @pepelsbey

    2 жыл бұрын

    Одиночные лучше, с ними код быстрее грузится 😜

  • @Elisha_GG
    @Elisha_GG2 жыл бұрын

    Tab Tab Tab... Я люблю Tab

  • @Lampa303
    @Lampa3032 жыл бұрын

    Есть кейс с выравниванием атрибутов тега в HTML/XML по положению первого атрибута, который написан на той же строке, что и само имя тега. Текст В js/java/etc некоторые редакторы (например, IDEA) умеют выравнивать параметры функции по первому параметру, который написан на той же строке, что и название функции. class MyClass { public void myMethod(String stringParam1, String stringParam2, Integer integerParam3) { // ...method body... } } В этих случаях корректно отработают только пробелы.

  • @pepelsbey

    @pepelsbey

    2 жыл бұрын

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

  • @user-zg3vt6zh6y
    @user-zg3vt6zh6y2 жыл бұрын

    всегда стараюсь юзать табы

  • @ferym26
    @ferym262 жыл бұрын

    всегда юзал и буду юзать табы

  • @rodigy
    @rodigy2 жыл бұрын

    Самый важный вопрос, как же все таки использовать табы и чтоб инакомыслящим тоже было хорошо и удобно?

  • @pepelsbey

    @pepelsbey

    2 жыл бұрын

    Боюсь, никак

  • @kusov4748
    @kusov47482 жыл бұрын

    Вадим ты единственный в своём роде на ютубе . Пожалуйста продолжай !

  • @maxvst1
    @maxvst12 жыл бұрын

    Тема полностью не раскрыта. Помимо отступов есть еще выравнивание. Например, когда несколько строчек нужно выровнять под открытую скобку после if, то это пространство нужно отбивать пробелами, а не табами. Тогда при смене размера табов текст не ломается.

  • @mixei4

    @mixei4

    2 жыл бұрын

    Отбивать код вообще не нужно.

  • @pepelsbey

    @pepelsbey

    2 жыл бұрын

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

  • @VladimirKotulskiy
    @VladimirKotulskiy2 жыл бұрын

    Полностью поддерживаю табы, я за функциональность vs отображение, в конце концов, кому какая разница, каким образом выглядит их код у меня в IDE.

  • @blinkapec
    @blinkapec2 жыл бұрын

    Ох, Вадим, не люблю я комментарии писать (либо лень, либо и сказать-то нечего), но вот посмотришь ваше видео и так и прёт сказать спасибо! :) Всё как всегда на высоте и как обычно глубоко и с тонкостями. Ну прям кайфую от получения подобной информации в подобной подаче! Успехов вам и дальше!

  • @fatalyst
    @fatalyst2 жыл бұрын

    Табы для логичкских отступов + дополнительные пробелы для красоты (точного вертикального выравнивания).

  • @pepelsbey

    @pepelsbey

    2 жыл бұрын

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

Келесі