LINUX.ORG.RU

История изменений

Исправление northerner, (текущая версия) :

Ну я тоже табофил. Его ведь для этого и придумали.

Tab key придумали для ускорения набора табличных данных на печатных машинках, чтобы не жмякать пробел по нескольку раз. Набираемый на печатной машинке текст сразу же выводится на бумагу и потому повторному редактирование не подлежит и никаких проблем нет.

Если предполагается редактирование, то _любые символы табуляции_ в файлах исходного кода неизбежно ведут к необходимости введения пачки общих соглашений о форматировании кода табами и настройках IDE, поэтому проще всего одним единственным общим правилом запретить их в репозитории. Каждый настраивает свою IDE как хочет, но при сохранении используются только пробелы. А для анального наказания раскольников на каждый коммит срабатывает хук с поиском символов табуляции, благо, что системы управления версиями это позволяют сделать легко. И для табофилов проблем нет - IDE тоже умные стали.

Собственно, еще в 2000 Джейми Завински по косточкам разобрал эту ситуацию:

My opinion is that the best way to solve the technical issues is to mandate that the ASCII #9 TAB character never appear in disk files: program your editor to expand TABs to an appropriate number of spaces before writing the lines to disk.

Исходная версия northerner, :

Ну я тоже табофил. Его ведь для этого и придумали.

Tab key придумали для ускорения набора табличных данных на печатных машинках, чтобы не жмякать пробел по нескольку раз. Набираемый на печатной машинке текст сразу же выводится на бумагу и потому повторному редактирование не подлежит и никаких проблем нет.

Если предполагается редактирование, то _любые символы табуляции_ в файлах исходного кода неизбежно ведут к необходимости введения пачки общих соглашений о форматировании кода табами и настройках IDE, поэтому проще всего одним единственным общим правилом запретить их в репозитории. Каждый настраивает свою IDE как хочет, но при сохранении используются только пробелы. А для анального наказания раскольников на каждый коммит срабатывает хук с поиском символов табуляции, благо, что системы управления версиями это позволяют сделать легко. И для табофилов проблем нет - IDE тоже умные стали.