-
Notifications
You must be signed in to change notification settings - Fork 9
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[intensive] пробелы ➡ табы #1097
Comments
Люто плюсую! Я уже рассказывал в слаке историю с конфигом для своих студентов, но слак тю-тю, поэтому повторю тут. Не поверив в поинт, что автопроверка на защитах за конфигами бежит куда-то на сервер академии, а не в сам проект, я решил проверить в бою на паре студентов, предупредив их, что возможно придётся через пару минут (после моего пуша с исправлением табов на пробелы) тыкнуть в создание архива и отправку на допуск ещё раз. Но не пришлось ничего тыкать, ибо автопроверка таки в конфиги проекта смотрит. И казалось бы на этом эксперимент можно было бы завершить, моя гипотеза была доказана. Если бы не одно «но»… Включил я им табы в начале курса (и заодно сразу пояснил, что теперь они могут в любой момент в настройках выставлять любой удобный размер отступа, не влияя на diff в git). А под конец курса я поймал себя на мысли, что именно у этих студентов за весь курс не было в коде никаких косячков с отступами. Если с остальными мне приходилось постоянно отвлекаться на всякие 13 пробелов вместо ожидаемых 14, то с участниками эксперимента у меня всё внимание было на саму вёрстку, а не вот это вота всё. Само собой с тех пор я стал всем менять конфиг. И на html1, и на html2. И мне меньше отвлекаться на ерунду, и студентам удобнее. Кстати, о Вадиме: когда на него не давят «толерантные» пробельщики, он таки использует табы. Только вот |
Плюсую! И тоже не советую фиксировать tab_width, а, напротив, использовать |
Также я бы добавил такое
|
Editoconfig не ругался у меня ни разу на svg, съёженные в одну строку без EOL в конце. |
Ругаться не ругался, а проставлять проставляет, создавая порой ненужные диффы. Были боли в практической командной работе, отсюда привычка добавлять эту опцию. |
У меня совсем без этого параметра такое же поведение: работает настройка размера таба в редакторе. |
Возможно, в некоторых редакторах были несоответствия с дефолтными настройками расширения editorconfig, но откуда-то я помню, что это решало проблемы. Можно попробовать без нее, по мере возникновения трудностей создать ишью уже с пруфами. |
Мы же все понимаем, что рано или поздно кто-то бы открыл это ишью.
Думаю первое апреля лучшая дата. 😉
Проблема
Тема холиварная, тема срачегенная, но давайте взглянем сначала на аргументы, которые можно легко верифицировать.
Почему табы лучше 😺
.py
или.pug
точно не перепутать попадает ли код вif
блок или нет. С пробелами надо всё переформатировать и следить за тем, чтобы не пошло в коммит. Это дополнительные трудности, которых нет на табах.Почему пробелы лучше 💩
Дополнительно
Это уже больше вкусовщина и не относиться к прямому применению, но табы это буквально символ для оступов. Точно так же как многоточие это
…
, а не...
; тире — это—
, а не-
; в русском языке кавычки это «ёлочки». Если у вас тоже что-то вроде перфекционизма или ОКР, то возникает жгучее желание использовать "правильный" символ вместо "неправильного". (тут кавычки не «ёлочки», потому что я их в воздухе показываю)Это как семантика в HTML.
Вывод
Табы объективно лучше.
Решение
В шаблонах проектов меняем настройки
.editorconfig
на:Для YAML делаем отдельное исключение, потому что они воспринимают только пробелы. Возможно есть ещё какие-то форматы, но для курсов HTML/CSS и JS ничего больше в голову не приходит.
Для курсов JS долнительно вносим правило в ESLint:
Ну и чтобы в ручную не фиксить все отступы в шаблонах, воспользоваться npm пакетом
Он deprecated и там зависимости старые, но для одноразовых применений сойдёт.
Чеклист
The text was updated successfully, but these errors were encountered: