Skip to content
Назад в блог

Почему разработчики до сих пор спорят о форматировании

2 мин. чтения
Почему разработчики до сих пор спорят о форматировании

Споры про отступы выглядят как шутка, пока вы не работаете в команде, где каждый форматирует код по-своему. Внезапно коммит из десяти строк превращается в 200 изменений — половина из которых просто заменяет табы на пробелы.

От пишущих машинок к стайл-гайдам

В эпоху пишущих машинок отступы были физическим действием: вы двигали каретку. Никто не обсуждал табы vs пробелы — был только один способ.

В 1978 году вышла книга «The C Programming Language» (Kernighan & Ritchie). Стиль оформления кода, использованный в книге — открывающая скобка на той же строке — стал называться K&R style и остаётся самым популярным в C-подобных языках.

В 1980-х Эрик Оллман (Eric Allman) — автор sendmail и syslog — использовал альтернативный стиль: открывающая скобка на отдельной строке. Этот стиль стали называть Allman style или BSD style.

Руководства по стилю помогли командам договориться о правилах. Например, PEP 8 для Python создан 5 июля 2001 года. Но наличие правил само по себе не приводит код к единому виду: для этого нужны инструменты форматирования и проверки.

Prettier: конец эпохи споров (2017)

В январе 2017 года Джеймс Лонг (James Long) — которого достало, что ни один редактор не умел нормально расставлять отступы в JSX — выпустил Prettier, форматтер почти без настроек. Его философия: «мы решаем за вас, как выглядит красивый код, а вы не тратите время на споры». Через несколько недель к проекту подключился инженер Facebook Кристофер Шедо (Christopher «vjeux» Chedeau, впоследствии один из создателей React Native) — вместе они за следующие месяцы довели прототип Лонга до инструмента, который вышел как Prettier 1.0 в том же году.

Это сработало. Prettier за пару лет стал стандартом в JavaScript-экосистеме, а затем распространился на TypeScript, CSS, HTML, JSON, Markdown, YAML и десятки других языков. Сегодня Prettier встроен практически в каждый проект через pre-commit-хуки и CI.

Что умеет наш Beautifier

HTML/CSS Beautifier — это лёгкий форматтер для разметки без установки и конфигурации:

  • Автоопределение — HTML или CSS
  • Format / Minify — развернуть в читаемый код или сжать в строку
  • Настройка отступа — 2 пробела, 4 пробела, табуляция
  • Безопасность — содержимое <pre>, <code>, <textarea> не трогается
  • Сравнение размера — исходный vs отформатированный

Быстрый старт: откройте инструмент → вставьте сжатый HTML → инструмент сам определит, что это HTML → нажмите Format — каждый тег на своей строке → переключите отступ на 4 пробела — всё изменилось → нажмите Minify — обратно в одну строку.

Похожие инструменты

Частые вопросы

Что такое K&R style?

K&R (Kernighan & Ritchie) — стиль оформления кода, названный в честь Брайана Кернигана и Денниса Ритчи, авторов книги «The C Programming Language» (1978). Открывающая скобка на той же строке, что и управляющая конструкция. Это самый распространённый стиль в C, C++, C#, Java и JavaScript.

Что такое Allman style?

Allman style (также BSD style) — стиль, названный в честь Эрика Оллмана (Eric Allman), автора sendmail и syslog. Открывающая скобка на отдельной строке, на том же уровне отступа, что и закрывающая. Популярен в C#, C++ и среди сторонников читаемости.

Что такое Prettier и почему он важен?

Prettier — это opinionated-форматтер кода, выпущенный Джеймсом Лонгом (James Long) в январе 2017 года; вскоре к развитию подключился инженер Facebook Кристофер Шедо (Christopher «vjeux» Chedeau), который помог довести проект от прототипа до готового инструмента. Он называется «opinionated», потому что почти не имеет настроек — навязывает единый стиль. Главное достижение Prettier: он устранил споры о форматировании в командах — код форматируется автоматически, обсуждения стиля становятся бессмысленными.

Табы или пробелы — что лучше?

Технически табы лучше для доступности (каждый разработчик может настроить свою ширину отступа), пробелы — консистентнее (выглядят одинаково везде). На практике большинство команд выбирает пробелы (обычно 2 для веба, 4 для остального). Сам Prettier по умолчанию использует пробелы с отступом в 2 символа (useTabs: false), но может быть настроен на табы.

Автор

Fullstack Engineer

В коммерческой разработке с 2011 года — больше 15 лет. Автор двух SaaS-продуктов: TeleGo.io и LingvoHabit.com. Статьи здесь выросли из реальной клиентской и продуктовой работы.

Подробнее об автореНаписать в Telegram

Похожие статьи

SYSTEMD
SYSTEMD · '26

systemd Builder: как Linux перешёл от init-скриптов к unit-файлам

Почему Linux-дистрибутивы перешли от SysV-скриптов к systemd: зависимости сервисов, активация по сокету, cgroups и спор о границах проекта.

#systemd #Lennart Poettering #SysV init #Linux systemd #unit файлы #systemd controversy
6 мин. чтения
COMMAND EXPLAINER
COMMAND EXPLAINER · '26

Command Explainer: как читать man-страницы и понимать Unix

Первая man-страница написана в 1971 году для UNIX. Документация остаётся главным источником знаний. Объясняем сложные команды простым языком — от tar до awk.

#Command Explainer #man pages #Unix philosophy #CLI документация #Linux команды #awk sed tar
3 мин. чтения
ВЗЛОМ САЙТА
ВЗЛОМ САЙТА · '26

Неавторизованная реклама на сайте: как найти взлом и веб-шеллы (разбор реального кейса)

Владелец сайта заметил чужую рекламу Google, которую сам не подключал. Пошаговое расследование: от grep по базе до обнаружения PNG-полиглотов с PHP-шеллом и техники CosmicSting в Magento.

#Взлом сайта #Malvertising #Веб-шеллы #Безопасность #Magento #CosmicSting #Incident Response
5 мин. чтения