Тёмный

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

Вадим Макеев
Подписаться 40 тыс.
Просмотров 22 тыс.
50% 1

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

Опубликовано:

 

19 май 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 276   
@pepelsbey
@pepelsbey 2 года назад
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
@eugenetheroad8436 2 года назад
Ну наконец-то, кто-то заступился за несправедливо униженные табы!
@VIMPdev
@VIMPdev 2 года назад
Всегда был сторонником табов, а потом увидел что в редакторе у меня, оказывается, все это время стояли пробелы))
@pilyugin
@pilyugin 2 года назад
10 лет назад юзал табы и был доволен))) Потом отошел от разработки, вернулся год назад и был удивлен, что пробелы одержали верх, пришлось смириться)))))
@user-dv9fk1hd3s
@user-dv9fk1hd3s 2 года назад
"Самая неконфликтная тема" "табы или пробелы" оценили масштаб иронии?
@pepelsbey
@pepelsbey 2 года назад
Ирония!
@DimaTiunov
@DimaTiunov 2 года назад
@@pepelsbey постирония
@fatalyst
@fatalyst 2 года назад
А ещё от длины отступа может зависеть степень усталости (или сосредоточенность) от прочтения кода. Например, если некоторым удобнее отступ в 4 символа, а в их проекте принято 2, то так и сидят, мучаются... пьют больше кофе... курят больше сигарет... портят глаза... ну, вы поняли ;)
@artanik94
@artanik94 2 года назад
На github ещё можно использовать ?ts=8 в URL, если нет возможности свой .editorconfig закоммитить 🤔
@AlexWayfer
@AlexWayfer 2 года назад
Считаю, должно быть в настройках проекта и/или аккаунта, как для этого есть issue в GitLab.
@andreysokolov2335
@andreysokolov2335 2 года назад
Точно, вот реально же удобнее. Я раньше стремился именно табы использовать. Давайте вернем все взад 🤗
@iKorewBro
@iKorewBro 2 года назад
++++ Тоже раньше использовал табы, а потом как-то незаметно для себя перешел на пробелы и сейчас пробелы как что-то само-собой разумеющееся.
@leem0ne
@leem0ne 2 года назад
Спс, из видео про табы узнал про decimal-leading-zero для counter. Жить стало легче, жить стало веселей.
@Alex-wl8rx
@Alex-wl8rx 2 года назад
точно)
@PaulKolbovich
@PaulKolbovich 2 года назад
Никогда на задумывался про преимущество доступности табов перед пробелами. Было познавательно и заставило задуматься. Спасибо, Вадим.
@wrGraff1
@wrGraff1 2 года назад
Вадим сделал невозможное. Записал видео про табы vs пробелы, которое собрало за 3 недели всего 31 дизлайк за 13,5 тысяч просмотров. Гений! Ну а если совсем серьезно, то впервые вижу объективный взгляд на этот вопрос, а не столкновение мнений о вкусах.
@phoenixtf
@phoenixtf 2 года назад
Никогда не понимал, какие тут могут быть вкусы. И конечно очевидно что табы практичнее, ну хотя бы исходя из 1 байт vs 4 байта, откуда взялась мода на пробелы и как это допустило сообщество, до сих пор мне неведомо
@user-dv9fk1hd3s
@user-dv9fk1hd3s 2 года назад
- Пробелы лучше чем табы - Чем лучше? - Чем табы
@demven04
@demven04 2 года назад
Очень крутой выпуск, перевернул мне сознание )
@SamaraDjVitek
@SamaraDjVitek 2 года назад
Спасибо за видео! У меня не так много опыта работы в разных проектах и командах, и мне не приходилось выбирать - пробелы или табы, всегда было два пробела :) Согласен с тем, что табы удобнее и более гибкие! Буду пробовать перейти на них в своих проектах. Но думаю, что рано всё равно на двух стульях не усидишь, и придётся выбирать что-то одно.
@AlexandroPanize
@AlexandroPanize 2 года назад
Понравилось видео. Всегда использовал пробелы, и даже не задумывался над табами. Сейчас задумаюсь
@draftermyself
@draftermyself 2 года назад
очень хорошие, современные, ламповые и тем не менее важнейшие рассуждения в выпусках!
@user-te1ut5ev8w
@user-te1ut5ev8w 2 года назад
Здравствуйте! Благодарю за видео и за упоминание про проблемы слабовидящих разработчиков!
@iKorewBro
@iKorewBro 2 года назад
Вадим - самый главный борец за права и удобства слабовидящих/слышащих людей )) Может звучит как шутка или ирония, но на самом деле я серьёзно, хоть и с улыбкой )) Впрочем любой, кто посмотрел все видео на этом канале, со мной согласится
@ThisIsGreenRoom
@ThisIsGreenRoom 2 года назад
Спасибо за очень полезное видео. Надо будет поэкспериментировать с табами )
@leonid_konoplin
@leonid_konoplin Год назад
вот это вклад в тему!!! супер аргументация
@zealot4325
@zealot4325 2 года назад
Отличное видео, не задумывался, что у использования табов есть такие детали
@ffgsfds
@ffgsfds 2 года назад
Когда врывался в АЙТИ программистом на Си, везде использовали табы и это было круто. Потом перешёл в Питон, а там пробельчики и я такой meh, но привык. Потом ушёл на фронт, пробелы сохранились автоматически и тут я такой ВАУ, ТОЧНО, ТАБЫ ЭТО ЖЕ БЫЛО ТАК КРУТО! Пойду переведу на них все свои пет проджекты Спасибо, Вадим!
@andreigunderin
@andreigunderin 2 года назад
Как всегда очень круто и аргументированно. Всегда юзал табы, но большинство меня победило =(
@a.n.burdin
@a.n.burdin 2 года назад
Спасибо, за информацию. Очень интересно
@user-zh5kg2op4h
@user-zh5kg2op4h 2 года назад
Вообще табы изначально были придуманы для табуляции. Выравнивания по горизонтали в стиле таблицы. Формат 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.
@user-nc9bb8ps6m
@user-nc9bb8ps6m Год назад
блин какие крутые ролики, никакой банальщины, каждый раз узнаю что-то новое, хоть сам в вебе уже давно...
@sergeykozhenkov371
@sergeykozhenkov371 2 года назад
классное ненапряжное пятничное видео :) Идея для следующего: делать табы по-фэншую, которые на сайте
@mikokush
@mikokush 2 года назад
Красава! Переходим на табы!)
@F1ayOne
@F1ayOne 2 года назад
Спасибо тебе, очень полезно
@yourbadapple
@yourbadapple 2 года назад
Спасибо за видео, лайк
@alex87950
@alex87950 2 года назад
Вадим, спасибо большое за твою работу и полезные видео. Интересно было бы услышать от тебя про настройку проекта с ESLint + Prettier
@pepelsbey
@pepelsbey 2 года назад
Prettier будет, с ESLint большого опыта не было
@NOX_69RUS
@NOX_69RUS 2 года назад
Спасибо большое! Про гитхаб не знал. Пошел конфиг сделаю
@zapiski_verstalshika
@zapiski_verstalshika 2 года назад
Табы - классная штука. Kогда только начинал работать, не обращал на это внимание. Но давно заметил что табы удобнее. Все хочу сделать глобальный editorconfig, да руки не доходят. Как всегда лайк и спасибо)
@nugget_sti
@nugget_sti 11 месяцев назад
было полезно, спасибо!
@user-om5uc4ee7c
@user-om5uc4ee7c 2 года назад
Здравствуйте, тёзка! Поделюсь своей болью. Пишу код на 13" дисплее ноута. Для удобства всегда делю редактор на два окна: один для index.html, другой для стилей. Чтобы все грамотно помещалось, приходится часто менять размер отступов. И иногда приходится делать их очень маленькими... Жду, когда смогу приобрести большой монитор! p.s. Спасибо за интересные разборы важных, простых и сложных тем. Механические лайвы всегда по-детски развлекают :)
@user-kg2uk3jf2z
@user-kg2uk3jf2z 2 года назад
Именно поэтому на каждом проекте юзаю табы, чтобы каждому было удобно. И именно эти примеры привожу в пример. Еще проблема в том, что большая часть разработчиков не увидит разницы, у многих отступы выключены. Отступы обычно включены у тех, кто пишет на языках без скобок.
@PhilippeRigovanov
@PhilippeRigovanov 2 года назад
Спасибо, Вадим, по крайней мере меня ты убедил: табы - недооценивают! P.S.: Принт на футболке прикольный!
@user-kl4yk8tm2b
@user-kl4yk8tm2b 2 года назад
Убедительно. Я поверил.)
@user-el6uf5sq7s
@user-el6uf5sq7s 2 года назад
Тоже изначально верстал с табами, до тех пор пока не познакомился с препроцессорами stylus, затем sass, pug, yaml. Часто были проблемы при компиляции таких языков, пришлось перейти на пробелы. Вадим вот вы затронули доступность для разработчиков, заметил у разработчиков восточно-азиатских стран(возможно и арабских) в классах css, в переменных и функциях js используется раскладка на их родных языках. У нас же дошло до того, что даже комментарии пишут на английском.
@user-oj3lz1wd7i
@user-oj3lz1wd7i 2 года назад
я только учусь верстать, но уже хватил головной боли с пробелами и табами, работая с pug и stylus. Например, вставляешь свой код в печоницу, а там все навтроено на работу с пробелами...Или втавляешь чужой код, а там на пробелах, и приходится форматировать в пробелы. Страшно парит это все.
@astrotrain
@astrotrain 2 года назад
Если начинаю проект я, то придерживаюсь стандартов, у js например 2 пробела, у питона и пхп читал что 4 . Главное, чтобы был эдитор конфиг с принудительной настройкой всех редакторов в единый стиль проекта, а так пофиг, всё равно жать клавишу таб для любых отступов.
@eugenysuglobov4700
@eugenysuglobov4700 2 года назад
Очень информативно. Позиция моя по вопросу отступов пошатнулась...
@proglite3499
@proglite3499 2 года назад
tab настроенный с двумя проблемами, визуально удобно, а что еще нужно
@rodigy
@rodigy 2 года назад
на кой он нужен в 2 пробела
@sunfurry
@sunfurry 2 года назад
@@rodigy вот согласен. Всегда пишу код в табах в 4 пробела, всё сразу становится максимально читаельным. Но часто вижу, что люди пишут в 2 пробела, но причин не вижу ни одной
@ivangagarinov4127
@ivangagarinov4127 2 года назад
@@sunfurry например легаси с калбэк-хелом
@user-august84
@user-august84 2 года назад
Всецело поддерживаю. Устал бороться по этой части со своими программистами.
@vladko9623
@vladko9623 2 года назад
Не разбирался с этим вопросом фундаментально. Для меня - это вопрос комфорта чтения кода. Поэтому я использую Tab.
@ArtemBurlaka
@ArtemBurlaka Год назад
Работаю с разного рода кодом лет 20 и до сих пор использую табы и ненавижу пробелы. Так и не понял, почему пробелы исторически одержали верх, очень надеюсь что постепенно все вернутся в использованию табов. Это ж как минимум для кода на 3 символа экономнее!
@programisli
@programisli 2 года назад
Я тоже за табы, но такие как мы проиграли просто потому, что в VS Code по умолчанию именно пробелы и никто не меняет. И чтобы избежать мусора в оформлении и проблем в GIT я сдался и тоже использую пробелы.
@azizoid
@azizoid 2 года назад
Понял что давно не парюсь над тем что выбрать там или пробел. В проектах над которыми работал всегда настроен Prettier
@pepelsbey
@pepelsbey 2 года назад
А вы бы доверили Barberrer постричь вашу голову так же, как все другие? Я к тому, что это прокрустово ложе: не помешаешься - отрежем ножки. Использовать чей-то (плохой, на мой взгляд) стиль кода - это такая же крайность, как постоянно спорить о стиле кода.
@rogozhka-racing
@rogozhka-racing 2 года назад
gofmt принудительно ставит отступы при сохранении и за несколько лет даже не задумывался что там (оказались табы). Хотя в настройках редактора стоит 4 spaces (так получилось). Кажется это неплохое решение. Смотреть можно как хочешь, но при сохранении или коммите в архив уйдет канонический вариант, который может быть настроен для просмотра по-разному.
@SARFEX
@SARFEX 2 года назад
Все беды из-за того, что люди используют не подходящие решения для задач. Пробел - интервал обозначающий границы слов. Табуляция - символ для горизонтального выравнивания текста. "Двойные" кавычки - парные знаки для выделения текста. Апостроф' - знак, использующийся для чего угодно, но не выделения текста. Верь wiki. Эти же проблемы и в другой "любимой" Вадимом теме: семантика вёрстки, диватоз. Если делать - как задумано, часто получается лучше.
@eugeniu.
@eugeniu. 2 года назад
При виде заголовка сразу вспомнил эпизод из “Silicon Valley” 😁
@pepelsbey
@pepelsbey 2 года назад
Не смотрел сериал, но видел сцену )
@AnatolyKosorukov
@AnatolyKosorukov 2 года назад
@@pepelsbey Тот самый отрывок: ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-tSIfHvgVeQg.html (lang="ru") ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-SsoOG6ZeyUI.html (lang="en")
@horlonangel
@horlonangel 2 года назад
Я использую пробелы. Причиной перехода на пробелы использование в проекте самых различных редакторов и языков, включая языки не программирования. Проблема в том, что табы в разных редакторах интерпретируются по-разному, а иногда и приводят к ошибкам. А еще некоторые редакторы вообще не воспринимают табов. Так что пришлось. Табы используются, но только там, где это действительно необходимо (у нас это зачастую конфиги и таблицы).
@nicktravolta1457
@nicktravolta1457 2 года назад
Спасибо
@user-tb3mm6dl3z
@user-tb3mm6dl3z 10 месяцев назад
Вадим красава
@user-mv1dg9fg5m
@user-mv1dg9fg5m 2 года назад
Оставил 667-ой лак, не хотел его сначала ставить, но результат важнее визуальных ценностей)
@Necroomsk
@Necroomsk 2 года назад
Комментарий немного не в тему: крутая футболка!
@rebrov-mihail
@rebrov-mihail 2 года назад
Хороший канал. Я бекенд-разработчик и обычно на каналы фронтенд-разработке не подписываюсь.... Для вашего канала сделал исключение
@drak0an
@drak0an 2 года назад
Чтобы вывести на экран код, для пробелов и табов в коде, переданного как текст через переменную нужно писать исключения для метода .trim(), чтобы он их не стирал. Так что пробелы и табы находятся в равном положении как минимум по одной этой задаче. Пока не возникнет существенная разница во многих бытовых задачах из-за стремления сообщества его создать, всегда будет побеждать ленивый вариант.
@nugget_sti
@nugget_sti 11 месяцев назад
таб в 4 пробела для меня оч удобно)
@kmuratov
@kmuratov 2 года назад
Да, табы удобнее, потому что можно настраивать их ширину. К сожалению, есть языки где обязательно использование пробелов. Мне нравится, когда инструменты решают эту проблему или выбор за нас. Так, в go есть утилита gofmt, которая форматирует код единственным способом, в том числе заменяет отступы на табы. Это исключает ситуации, когда по ошибке или по незнанию разработчик отформатировал лишнее или отформатировал не так как принято на проекте. Если современные текстовые редакторы с легкостью могут заменить одни пробельные отступы на другие, то почему они не дают возможность задавать ширину отображения пробельных символов, если они форматируют отступы.
@ilnur-muh
@ilnur-muh 2 года назад
Дааа.. Наконец то кто то об этом сказал. Поэтому я всегда использую табы.
@sia4281
@sia4281 2 года назад
Я для заметок использую onenote, и чтобы в нем код сворачивался нужны табы. Да и в редаторе как-то больше по душе отображение табов, а не этих точек
@pavelhamanovich4951
@pavelhamanovich4951 2 года назад
Сразу вспоминается язык Вайтспейс, где пробел и таб это конструкции языка en.wikipedia.org/wiki/Whitespace_(programming_language)
@beleg
@beleg 2 года назад
ну или синтаксис sass
@GrawlCore
@GrawlCore 2 года назад
Добавлю ещё одно: клавиша Backspace стирает либо 1 таб, либо 1 пробел, либо 2/4 пробела (как настроено). Это смущает, когда на проекте пробелы, и приходится жать Shift + Tab вместо Backspace, будто я не с символами работаю, а кодогенерацией пользуюсь чаще. всегда пишу на табах таб таб таб таб таб таб шифт-таб
@Tatsyaable
@Tatsyaable 2 года назад
Крутая футболка, Вадим!
@MaxTrash
@MaxTrash 2 года назад
До этого момента не задумывался, но работаю в редакторе с отступами как с табами, а он уже сам их конвертирует в пробелы.
@SemenAlexndrovich
@SemenAlexndrovich 2 года назад
Спасибо, Вадим. Никогда на это не обращал внимания и не задумывался. А оно вот оно чё =) Действительно, табы выглядят удобнее
@renat7797
@renat7797 2 года назад
Было бы неплохо иметь инструмент похожий на auto CR LF, тогда в репозиторий все попадало бы строго в определенном виде, независимо от личных предпочтений каждого разработчика.
@kusov4748
@kusov4748 2 года назад
Вадим ты единственный в своём роде на ютубе . Пожалуйста продолжай !
@polosatus
@polosatus 2 года назад
Про отображение в браузере и подстройку под себя очень круто, но... Причина перехода на пробелы в командах в частности кроется в разности восприятия/форматирования общего кода. Проблема тут в том, что это не просто отображение (внешний вид) кода, оно влияет и на другие момент. Например: допустим, в кодстайле проекте есть ограничение длины строки в 100 символов. У людей с tab=8 и tab=2 при вложенности даже хотя бы 4, не говоря уже про 8 (что сплошь и рядом в html) разница получающейся длине строки будет огромной (24 и 48 символов соответственно). Поэтому и вставлять переносы такие люди будут в разных местах. У одного всё будет уходить за край экрана, у другого - почему-то переносы будут в середине экрана за километр до ограничения. В итоге - неудобно всем. А так да, табы, конечно, более гибкие.
@pepelsbey
@pepelsbey 2 года назад
Серебряной пули действительно нет: когда-то удобны пробелы, когда-то табы. Главное, чтобы выбор делался осознанно: я не выравниваю отступами и не практикую максимальную длину строки в своём коде. Тогда зачем мне пробелы?
@evgenepanchin661
@evgenepanchin661 2 года назад
в обоих случаях используешь одну и ту же кнопку tab или shift+tab при написании кода. Остается лишь вопрос отображения - из-за чего в "древние времена" и появился этот спор. К тому же на это всё накладывает свой отпечаток "стандарт" написания кода на том либо другом языке ("Наше сообщество решило что нужно писать так, и нам всё равно как пишут в вашем сообществе"). Кто-то ставит фигурные скобки на той же строке, кто-то переносит на новую, кто-то предпочитает не ставить фигурные скобки, а кто-то считает, что фигурные скобки должны быть всегда. Единого "стандарта" для всех языков не существует :(
@blinkapec
@blinkapec 2 года назад
Ох, Вадим, не люблю я комментарии писать (либо лень, либо и сказать-то нечего), но вот посмотришь ваше видео и так и прёт сказать спасибо! :) Всё как всегда на высоте и как обычно глубоко и с тонкостями. Ну прям кайфую от получения подобной информации в подобной подаче! Успехов вам и дальше!
@DonGun-zh3di
@DonGun-zh3di 2 года назад
Пробелы используют эгоисты. Скрежещу зубами каждый раз, когда возникает необходимость разобраться в исходниках какого-нибудь проекта на гитхабе, код которого написан с использованием двух пробелов. Мне, например, тяжело воспринимать такой код, все сливается в одну стену текста. Приходится конвертировать каждый файл в четыре пробела.
@VladimirKotulskiy
@VladimirKotulskiy 2 года назад
Полностью поддерживаю табы, я за функциональность vs отображение, в конце концов, кому какая разница, каким образом выглядит их код у меня в IDE.
@user-august84
@user-august84 2 года назад
Порядок предложить легко, совсем просто: пробел и табуляция должны быть одним символом, а отображение может зависеть от настроек, как уже было сказано в видео. Выравнивание блока объявления переменных и присваивания значений, выравнивание даже вложенных функций, выравнивание переносов «хвостов» на строку ниже и так далее должны делать сами редакторы кода. Достаточно пробела, чтобы текст сдвигался, как надо.
@pavelxbushmakin7252
@pavelxbushmakin7252 Год назад
Табы для отступа, пробелы для выравнивания
@ruslanaliyev8161
@ruslanaliyev8161 Год назад
@@pavelxbushmakin7252 проблема такого подхода в том, что когда хочется изменить ширину таба, то всё вдруг начинает ехать.
@PretorDH
@PretorDH Год назад
@@ruslanaliyev8161 Проблема не в табах, а в програмистах. Текст и код отличать надо концептуально...
@LoudSven
@LoudSven Год назад
Понравился раздел "Польза при выводе". А можно сделать что-то подобное для отображения кода в VS Code? Чтобы, например, когда я разворачиваю vscode на пол-экрана таб с 4 менялся на 2 и обратно
@pepelsbey
@pepelsbey Год назад
Думаю можно написать расширение для VS Code, которое будет переключать длину таба
@misatokatsuragi9122
@misatokatsuragi9122 2 года назад
В ядре linux отступы 8 пробелов для того, чтобы не раздували код и не уходили в большую вложенность
@PsyHooZ
@PsyHooZ 2 года назад
Использую стандарт языка, как завелось - пробелами. Но всегда не понимал зачем использовать 2,4,8 байта для отступа, если можно обойтись 1 байтом. Может в нынешних реалиях такой размер не имеет значения. Но кажется есть переформатировать весь гитхаб в табы (где нет четких различий в языке использования таба или пробела как языковой конструкции), он станет сууущественно меньше по размеру) Может, я в чем-то и ошибся, поправьте меня)
@AntiSmithhh
@AntiSmithhh Год назад
размера файла - это последнее, что беспокоит. на том же ассемблере теоретически символов для произвольной крупной задачи будет меньше, чем на той же Джаве, например. ток проблема: на ассемблере крупный проект за оставшееся время жизни Солнца не написать.. и тем более - не отладить 😏
@silentage6310
@silentage6310 Год назад
тоже когда то табами болел. спасибо за поднятую тему, но тема полностью не раскрыта. вот например код var b = 1, a = 2; тут смысл в том что переменные выравнивают в столбик. или другой пример, когда значения выравнивают в столбик a = [ 'a': => 'test', 'varname' => 'test2', ] в обоих случаях надо будет где то использовать табы, а где то пробелы и следить за этим. но тогда чтобы контролировать это надо включать показ пробельных символов, а они визуально загрязняют код.
@pepelsbey
@pepelsbey Год назад
То есть если у вас let, то отступ 4 пробела, а если const - 6? Я предпочитаю не заниматься ерундой и не рисовать пробелами, даже когда использую для отступов пробелы. Отступ может быть только один и не для рисования кодом.
@AntonDiaz7
@AntonDiaz7 2 года назад
Это еще не всё. Вот захотел я навести красоту и делать в коде не только отступы, но и выравнивания. Например, в CSS после «-webkit-property: 1px» в следующей строке написал дополнительные 8 пробелов перед «property: 1px». Так я компенсироввл количество символов в префиксе «-webkit-», и оба правила поравнялись друг к другу (так легче увидеть, что значения свойств одинаковы). Если использовать для отступов табы, а для выравнивания - пробелы, то выравнивание сохранится при любых настройках ширины таба. А если для отступов использовать тоже пробелы, а потом проехаться автозаменой, чтобы поменять отступы, то всё выравнивание заруинится.
@pepelsbey
@pepelsbey 2 года назад
На мой взгляд, выравнивание в коде наполняет его сложными и непредсказуемыми элементами «для красоты» и усложняет его поддержку. Пример с префиксами яркий, но как часто после появления Автопрефиксера мы видим такое в коде? Два раза на весь проект, в лучшем случае. Я принципиально использую для разворачивания кода только отступы.
@codisy
@codisy 2 года назад
Вадим, NGINX уже настраивали, а планируется ли показать как настроить по феншую webpack для верстальщика? Без всяких реактов и тайпскриптрв, как-то скромно: бабель, отслеживание и перезагрузка страницы, стриминг на локальный ip для доступа со всех устройств в локальной сети(browser sync), чтобы postcss и autoprefixer, imagemin и может еще какие-то полезности для верстки
@pepelsbey
@pepelsbey 2 года назад
Будет повод поработать с Webpack побольше - расскажу :)
@dear_lucas
@dear_lucas 2 года назад
Я тоже сторонник табов. И тоже вынужденно перешёл на пробелы... С удовольствием бы вернулся обратно. Но есть вопрос - как быть с некоторыми типами файлов, в которых исторически сложились отступы, например, в два пробела - JSON? Значит нужно, чтобы во всех остальных файлах у нас были отступы табами = 4 пробела. А в файлах JSON - табы в 2 пробела или просто 2 пробела... Это тоже можно реализовать в эдиторконфиге?
@pepelsbey
@pepelsbey 2 года назад
Да, можно, см. github.com/lp-cast/3lp.11ty/blob/main/.editorconfig
@user-zg3vt6zh6y
@user-zg3vt6zh6y 2 года назад
всегда стараюсь юзать табы
@romandemin8601
@romandemin8601 2 года назад
Убедительно. Логично. Но... оставляем пробелы.
@ferym26
@ferym26 2 года назад
всегда юзал и буду юзать табы
@WorldworkMay
@WorldworkMay 2 года назад
О господи, Вадим. Вы развезли врата ада
@user-zj3ih2ux5e
@user-zj3ih2ux5e Год назад
Я не знал, что табы такие удобные. Всегда раньше топил за пробелы.
@MrShnaiderTV
@MrShnaiderTV Год назад
Настраиваем ESLint на табы и никто не сможет сохранить файл с пробелами. Да он и сам при коммите все пофиксит автоматически. Топлю за табы, все конфики настроены на табы, они намного удобнее для всего. Например, мне нравится в js отступ в 4 символа, но все привыкли к двум. Не вопрос, у меня отображается 4, у них 2, все довольны
@supram941g5
@supram941g5 2 года назад
Насколько я понял единственный довод это то что пробелы не распознаются как табы, почему бы не добавить в редакторы возможность определять табы на основе editorconfig и далее менять на соответствующие. То есть сказать редактору что мне нужно отступ в 4 пробела, если нужно будет открыть проект в котором 8 пробелов отступ (и это описано в конфиге проекта) редактор на лету конвертирует 8 -> tab -> 4 и ничего не надо сохранять при этом, более того можно также конвертировать назад сохраняя то как настроен проект. А проблем с табами больше чем указанная выше (в комментариях уже описали) так что только пробелы и "виртуальная" конвертация в табы.
@sergeikulikov4412
@sergeikulikov4412 2 года назад
У пробелов есть один плюс по сравнению с табами - курсор ввода можно поставить на любую позицию, и при перемещении курсор движется с одинаковой скоростью вместо того чтобы проскакивать 2-4-8 визуальных позиций за раз
@pepelsbey
@pepelsbey 2 года назад
Движение курсора с одинаковой скоростью, по сути, замедляет это движение. Так себе преимущество. Я в коде почти всегда двигаюсь по строке с помощью Option Arrow, то есть не по символам, а по словам. Это сильно быстрее.
@sergeikulikov4412
@sergeikulikov4412 2 года назад
@@pepelsbey любопытно. значит - тоже дело вкуса
@NecroRomnt
@NecroRomnt 2 года назад
​@@sergeikulikov4412 ну если цель работы это двигать курсор равномерно =) После того как начал пользоваться командо-ориентированными текстовыми редакторами (семейство vi, к примеру), стало очевидно что быстрейшее перемещение до нужного участка кода весьма удобно.
@barkliDetolli
@barkliDetolli 2 года назад
Скажите пожалуйста, где можно почитать прям совсем для далеких от веб и понять, в чем различия и проблемы табов и пробелов?
@pepelsbey
@pepelsbey 2 года назад
Я вроде попытался объяснить разницу, ничего сильно больше нет, дальше только вкусовщина, привычки и традиции
@barkliDetolli
@barkliDetolli 2 года назад
@@pepelsbey спасибо за ответ! я просто третий день как изучаю программирование, от кол-ва информации просто мозг разрывается. Думал тут что-то глубже есть между табами и пробелами. Видео отличное!
@NecroRomnt
@NecroRomnt 2 года назад
Предпочитаю tab, но в приоритете уже сформированные требования команды. Уже привык, что невежество берёт верх над здравым смыслом и зачастую не вступаю в битвы tab VS space.
@blinkapec
@blinkapec 2 года назад
Забавно что Вадим предложил похоливарить в комментариях, но в самом видео так всё изложил что и сказать то особо теперь нечего 😃
@Elisha_GG
@Elisha_GG 2 года назад
Tab Tab Tab... Я люблю Tab
@ac130kz
@ac130kz 2 года назад
мне кажется, что аудио чуть-чуть тормозит за картинкой, надо бы засинхронить)
@ulatov
@ulatov 2 года назад
Неужели - это действительно так важно, а? По работе порой сталкиваюсь с вообще не форматированным кодом и даже форматированным так, что вложенность съехала. Кто-то копипастил, а может специально, не знаю. Поправил когда видишь такое и всё. Конечно TABами.
@pepelsbey
@pepelsbey 2 года назад
Интересная тема для холивара, не более того :) А важность каждый для себя выбирает
@quillcraft
@quillcraft 2 года назад
Код можно автоматически форматировать.
@ulatov
@ulatov 2 года назад
@@quillcraft ох, то в чём приходится писать, с этим, мягко говоря - не очень 😏
@vitya-vitin
@vitya-vitin 2 года назад
Хочу такую майку )
@pepelsbey
@pepelsbey 2 года назад
Напечатайте сами, как я сделал )
@vitya-vitin
@vitya-vitin 2 года назад
@@pepelsbey я уж было подумал, что Макеев свой мерч запустил ) Да, кстати, на стримы не попадаю, так что тут пожелаю. Удачи на фаши... немецкой земле и хорошей дороги )
@panda58dev
@panda58dev 2 года назад
Я конечно извиняюсь, и это дело каждого, как писать код, но например по стандартам PHP отступы должны быть выполнены в пробелах и в количестве 4-х символов. И имхо стандарты далеко не дураки писали, и свои "предпочтения" нужно подстраивать под них, это даёт более эффективную работу в команде. Хотя если брать пример из видео - может быть это удобно. P.S.: На счёт консольных редакторов - сам использую neovim и могу сказать, что его возможности по работе с отступами аналогичны VSc.
@artiommarkovich4244
@artiommarkovich4244 2 года назад
Если бы это было аргументом, то у php не появлялись бы новые версии, однако стандарты не редко растут над собой исправляя прошлые ошибки
@i17talk8
@i17talk8 2 года назад
а где у PHP стандарты почитать?
@somaticHuman
@somaticHuman 2 года назад
Ага, особенно не дураки писали стандарты к питону, где названия классов в одной нотации, а весь остальной код в другой ))
@AntiSmithhh
@AntiSmithhh Год назад
получается, что если в кодстайле команды можно прописать "отступы - пробелы, табуляция = 4 пробела", то почему нельзя аналогично написать "отступы - табы, табуляция = 4 пробела". как я понимаю, проблема будет возникать с "поехавшими" отступами только в том случае, если нужно разбить например длинный перечень аргументов функции на несколько строк и выровнять это. но опять же... соблюдая кодстайл в любой альтернативе ты не получишь проблем. но с пробелами наверное просто меньше нужно отвлекаться на это с меньшем риском получить характерные проблемы (и не получить характерные преимущества).
@Lampa303
@Lampa303 2 года назад
Есть кейс с выравниванием атрибутов тега в HTML/XML по положению первого атрибута, который написан на той же строке, что и само имя тега. Текст В js/java/etc некоторые редакторы (например, IDEA) умеют выравнивать параметры функции по первому параметру, который написан на той же строке, что и название функции. class MyClass { public void myMethod(String stringParam1, String stringParam2, Integer integerParam3) { // ...method body... } } В этих случаях корректно отработают только пробелы.
@pepelsbey
@pepelsbey 2 года назад
Это называется «рисование кодом» и я стараюсь такого избегать, чтобы в коде были только отступы стандартной ширины. Иначе следить на стилем кода становится мучительно сложно - автоматика не справляется, все рисуют пробелами как хотят.
@KlinovAS
@KlinovAS 2 года назад
Использую tab, так как это один символ вместо нескольких. Поскольку во всех объявлениях пишет "у нас молодой колектив до 30 лет", то буду показывать пальцем в их сторону. Не знаю откуда все эти новые движения, но не вижу никакого прогресса в целом. Чего только не придумали - язык в языке, но от этого ничего ни быстрей не становится и не лучше и не проще. Молодые люди доказывать что одно лучше другого не имея никакого понятия об двух технологиях одновременно. Каждая технология имеет свои плюсы и минусы и предназначение.
@fumanchez
@fumanchez 2 года назад
проблема почему от табов отказались - это что некоторые их использовали даже для выравнивания кода, уже после отступа, в результате код читаем только на одном размере таба
@pepelsbey
@pepelsbey 2 года назад
Мне кажется, что выравнивание кода - это плохая практика. Хотя бы потому, что код становится ригидным и это выравнивание сложно систематизировать. Я не выравниваю код, мне проще.
@fumanchez
@fumanchez 2 года назад
@@pepelsbey согласен, очень сильно все смещается вправо. Но оно существует, и некоторые делают это табами, из-за чего многие стали считать их проблемой
Далее
Super sport🤯
00:15
Просмотров 269 тыс.
Редакция. News: 117-я неделя
46:26
Просмотров 1,6 млн
How To Make Toggle Button Using HTML & CSS
5:27
Просмотров 60 тыс.
Super sport🤯
00:15
Просмотров 269 тыс.