Skip to content
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

style: use tabs instead of spaces #98

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

polRk
Copy link

@polRk polRk commented Oct 1, 2023

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

@firefoxic
Copy link

Надо залинковать с yomoyo/issues/1097 👀

@nikolai-shabalin
Copy link

Добавьте к issue исследование на использование пробелов/табов в реальных проектах.

eslint-config-htmlacademy - это отражение многих мнений, как наставников в Академии, так и внешних компаний, поэтому тут для смены значения на табы нужны более весомые аргументы. Исследование - поможет более чётко сформулироват для чего это нужно.

@firefoxic
Copy link

firefoxic commented Dec 13, 2023

Добавьте к issue исследование на использование пробелов/табов в реальных проектах.

Лично я всё больше встречаю в проектах табы, а не пробелы. И даже догадываюсь почему. Но собирать какую-то статистику — это вообще не имеет смысла.
Выбор символов для индентации — это же не выбор фреймфорка, сборщика, препроцессора, и тому подобное, что не сменишь никак (ну почти) выбрав на проекте однажды. Это всего лишь символы. И они всего лишь в конфиге. Причём конфиге htmlacademy, которая в первую очередь должна думать о студентах, а не о том, что там кто использует в команде разработки, Лиге, и что там ещё есть внутри. И уж тем более не о том, что используют за пределами академии.

Просто для сравнения:

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

Почему страдают? Потому что:

  1. Нет возможности настроить величину отступов для своего удобства, без влияния на дифф в гите и сломанного количества этих отступов. А делеко не всем удобно с оступами в 2 символа (по своим сужу: кто-то при табах менял дефолт 4 для таба в редакторе на 2, но большинство оставляло 4, не потому что дефолт, а именно удобно).
  2. Всегда есть возможность случайно стереть один пробел и потом после этого нечётного (или лучше скаать дробного) отступа куча строк с разными, но нечётными отступами. И курсы по js, не исключение из того правила, что на каждом потоке, обязательно будут подобные скриншоты (это свеженький из дискорда, но я таких сотни уже видел наверное):
    image
  3. Но часто такие ↑ ситуации возникают даже не из-за случайного стирания, а потому что отбивают отступами клавишей Space (видел на созвонах не раз). А табы приучают манипулировать отступами клавишей Tab (с Shift, если уменьшить отступ).

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

Не при чём тут исследования. После табов в учёбе устроившись выпускник на проекте с пробелами:

  • не будет отбивать отступы клавишей Space, потому что привык уже нажимать Tab, а поэтому…
  • не будет косячить с нечётными отступами (почти наверняка).
    Ну максимум будет неудобно с гвоздями прибитой величиной — переживёт.

P.S. И я не просто так прилинковал ишью из ё-моё, потому что это не только тут надо, а вообще на всех курсах во всех конфигах, которые в первую очередь для студентов.

@firefoxic
Copy link

На заметку:
На 9й eslint всё равно никто так просто не обновится (#100), включая тех, кто просто использует этот академский конфиг как есть, как минимум надо сменить файл конфига и его логику подключения в него академского. Учитывая этот факт — это уникальная возможность наконец-то сменить дефолт в отступах. Если у какой-то внутренней команды аллергия на табы, просто в новый конфиг (всё равно же делать его будут) добавят переопределение этого правила. Но тысячам студентов будет наконец-то проще.

@baileys-li
Copy link

ИМХО отступы это вообще не ответственность линтинга.

Линтер вообще не должен лезть в форматирование, потому что это разные ответсвенности. При чём и по скорости.
А когда этим занимается линтер начинается что-то типо такого:
image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants