eslint-config-htmlacademy icon indicating copy to clipboard operation
eslint-config-htmlacademy copied to clipboard

style: use tabs instead of spaces

Open polRk opened this issue 2 years ago • 5 comments

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

polRk avatar Oct 01 '23 06:10 polRk

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

firefoxic avatar Oct 14 '23 06:10 firefoxic

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

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

nikolai-shabalin avatar Nov 29 '23 19:11 nikolai-shabalin

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

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

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

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

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

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

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

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

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

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

firefoxic avatar Dec 13 '23 20:12 firefoxic

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

firefoxic avatar Apr 17 '24 06:04 firefoxic

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

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

baileys-li avatar Jun 16 '24 12:06 baileys-li