Найти в Дзене

Почему программисты спорят о табах и пробелах

Если вы далеки от IT, то, возможно, удивитесь: программисты могут часами спорить не только о языках или фреймворках, но и… об отступах в коде. Да-да, именно о том, ставить табы или пробелы. Звучит смешно? А для разработчиков это почти философский вопрос. Откуда вообще спор? Раньше компьютеры были медленные и память была на вес золота. Таб занимал всего один символ, а пробелы — четыре или восемь. Экономия налицо. Поэтому многие считали табы единственным правильным выбором. Но потом компьютеры стали мощнее, и вопрос уже перешёл в плоскость удобства и стиля. И тут всё началось. Программисты за пробелы говорят: А вот лагерь табов уверенно отвечает: Что скрывается за этим холиваром? На самом деле спор не про символы. Это спор о ценностях. Звучит почти как политическая философия, только в коде 😅 История из жизни В одном проекте у нас половина команды писала с табами, а половина — с пробелами. В результате: открываешь Git — и весь файл горит красным и зелёным, как будто его переписали

Если вы далеки от IT, то, возможно, удивитесь: программисты могут часами спорить не только о языках или фреймворках, но и… об отступах в коде. Да-да, именно о том, ставить табы или пробелы. Звучит смешно? А для разработчиков это почти философский вопрос.

Откуда вообще спор?

Раньше компьютеры были медленные и память была на вес золота. Таб занимал всего один символ, а пробелы — четыре или восемь. Экономия налицо. Поэтому многие считали табы единственным правильным выбором.

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

Программисты за пробелы говорят:

  • «С пробелами код всегда выглядит одинаково — хоть в моём редакторе, хоть в твоём».
  • «Я сам решаю, сколько пробелов ставить, а не надеюсь на чужие настройки».
  • «Google, Facebook и многие гиганты используют пробелы — и это аргумент».

А вот лагерь табов уверенно отвечает:

  • «Таб экономит место в файле — зачем тратить символы зря?»
  • «Каждый программист может настроить ширину таба под себя — хочешь 2 пробела, хочешь 8».
  • «Один таб — одно нажатие. Быстрее писать, меньше работы».

Что скрывается за этим холиваром?

На самом деле спор не про символы.

Это спор о ценностях.

  • Пробелы = контроль, единообразие, стандарты.
  • Табы = свобода, гибкость, индивидуальность.

Звучит почти как политическая философия, только в коде 😅

История из жизни

В одном проекте у нас половина команды писала с табами, а половина — с пробелами.

В результате: открываешь Git — и весь файл горит красным и зелёным, как будто его переписали с нуля. А на деле кто-то просто нажал пробел вместо таба.

Найти реальное изменение было невозможно.

После недели мучений мы приняли мудрое решение: «Ладно, давайте выберем что-то одно и жить спокойно».

Современное решение

Сегодня всё проще: линтеры и автоформаттеры (Prettier, ESLint, Black) расставят отступы за вас.

Вы можете спорить сколько угодно, но программа всё равно приведёт код к единому виду.

Итог

Табы или пробелы — вопрос вкуса.

Главное — договориться внутри команды.

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