Другие языки программирования и технологии

Почему использование табов для отступов считается плохим стилем программирования?

Смысл в том что в разных редакторах табы могут отображаться по разному. Даже при условии что таб 8 пробелов, а в некоторых IDE вы сами можете настроить количество пробелов в отступах, один редактор может добавлять еще 8 пробелов если количество пробелов кратно 8 и стоит таб, а другой нет. Поэтому в одном редакторе вполне себе хорошие отступы, могут стать сбитыми в другом. В IDE можно настроить что-бы вместо табов были пробелы. Тогда вы пользуетесь привычной для вас клавишей, а отступы сохраняются как пробелы. Один и тот же файл в разных редакторах. Смотрим что верхняя строка сбились отступы.
AA
Alik Arakelyan
15 408
Лучший ответ
Безусловно плохо - смешивать табуляции с пробелами. А сами по себе табуляции не плохи и не хороши. Это просто элемент Code Style, принятого в данном языке или данной компании.

Например, в PHP принято использовать пробелы (хотя никто и не мешает использовать табуляции). А в Go использование пробелов запрещено.
Юрий Петров Про запрещено я бы поспорил.
Это использование восьми пробелов вместо одного таба -- плохой стиль.
Особенно, насильственная автозамена.
В Go наоборот всячески поощряется использование табов, если прогоните ваш код через go fmt, всё будет по феншую.
ДК
Дима Кравчук
85 853
спросите у того, кто так считает.
в современных ide это по большей части вообще не имеет значения. даже переконвертируют табы-пробелы и обратно при желании. а так у табов преимуществ побольше.
1. Потому что фактический размер таба в разных редакторах отличается (сильно ухудшается читаемость кода/разметки), тогда как размер пробела - величина постоянная.
2. Потому что использование табов вынуждает использовать смешанную индентацию (табы + пробелы) для выравниваний не кратных табсайзу: это затрудняет не только чтение, но и редактирование.
3. Потому что код с табами плохо переносит обработку кода различными утилитами, без которых проф. разработка практически немыслима (линтеры, дифф, гит, и т. д.).
batanin
batanin
51 255
Как их растягивать в других условиях? Наверно, поэтому.

Похожие вопросы