Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Пробелы или табуляция?

Алексей Спиридонов Ученик (170), закрыт 4 года назад
Я только начал изучать программирование и вот в чем вопрос. Почему все рекомендуют ставить отступ не табом, а 4 пробела. Таб вроде легче поставить, чем 4 раза нажимать на пробел?
Лучший ответ
Алексей Кузьминов Мудрец (11132) 4 года назад
Дело в том, что табуляция на экране заменяется редактором при отображении на пробелы. И количество этих пробелов зависит от редактора и настраивается! Может быть 3, 4 или вообще 8. Отдельный прикол в том, что будет, если код нужно куда-то вставить, на форум там или в документ. Как результат - текст с табуляциями поплывёт.

Общая рекомендация - делать так, как в остальном коде, если правите чужой и использовать пробелы в своём.
Turris ScientiaУченик (169) 1 год назад
Эм, да нихрена не поплывёт, если ты не морж с ластами вместо рук. Настрой свой редактор на табы, а не фейктабы и всё будет норм. Забавно, что ты позволяешь управлять исходником редактору без своего ведома. А про форумы и т.д. тоже прикольно — стало популярно пробелы обнулять.
Остальные ответы
port port Искусственный Интеллект (181640) 4 года назад
Я думаю, что этот страх со старых версий Пайтона... Смело ставь табулятор...
Андрей Высший разум (480357) 4 года назад
Это зависит исключительно от code style, принятого в данном языке (и даже в данной компании). Например, в PHP общепринятыми являются пробелы, в Go обязательными являются табуляции.

Так что в одной фирме пишут Python-код с пробелами, а в другой - с табуляциями.

Проблема табуляций в том, что когда-то это было ровно 8 пробелов, а сейчас - кто как свой редактор настроил. В результате если у тебя в редакторе табуляции выглядят красиво, то у того, кто будет читать твой код, может стоять другой размер табуляции и всё разъедется.
port portИскусственный Интеллект (181640) 4 года назад
Далеко не ходим и смотрим на код, скопированный в ЭТОТ сайт, где целая серия пробелов заменяется на один-единственный...
Очень "читабельно" для тех, кто дупля толком не отбивает в программировании вообще, а в Пайтоне в частности... :)

В этом плане очень неплохо было сделано на моей памяти еще 40 лет назад в MUMPS, где степень вложенности показывалась количеством точек в начале строк блока. Тут уже ничего и нигде не "разъедется"...
Андрей Высший разум (480357) port port, Теперь на "ответах" и единственного пробела в начале строки нет, зато первая буква в обязательном порядке делается заглавной. Но и табуляции удаляются также, как пробелы.
Похожие вопросы