Почему стандарт кодирования PEAR настаивает на использовании пробелов вместо табуляций?

Отвечает Stig Bakken.

Использование пробелов вместо табуляций - это единственное решение, которое позволяет быть уверенным в том, что код отображается одинаково во всех редакторах и просмотрщиках. Большое количество редакторов использует длину табуляции, равную 4-м пробелам, но значительно количество терминалов и утилит использует для этого 8 пробелов. Пример:

printf("%s",
      $arg);

Здесь "$arg" предваряют 7 пробелов. Если бы этот код был написан в редакторе с табуляциями из 4-х пробелов, то он был бы сохранен как одна табуляция и три пробела. Теперь представьте себе: другой разработчик редактирует тот же самый файл в редакторе с табуляциями из 8-ми пробелов. Код будет выглядеть так:

printf("%s",
          $arg);

И наоборот:

    if ($foo &&
       $bar) {
   }

В редакторе с табуляциями из 4-х пробелов этот код будет выглядеть так:

    if ($foo &&
   $bar) {
   }

В обществе, подобном PEAR, где состоит большое количество людей, использующих различные системы и редакторы, использование табуляций просто бессмысленно. Участники будут бесконечно изменять файлы для того, чтобы сохранить нормальное форматирование в их редакторе, изменяя его при этом для всех остальных. И только пробелы могут позволить коду выглядеть одинаково везде.

Jamie Zawinski тоже об этом как-то написал, см. здесь.

Существует также утилита Astyle, которая создана для конвертации кода в соответствующий вид.

Какие лицензии используют пакеты, размещенные в PEAR/PECL? (Previous) go-pear.php or bundled packages in the windows build of PHP 4.3.x is out of date! (Next)
Last updated: Sat, 26 Jul 2014 — Download Documentation
Do you think that something on this page is wrong? Please file a bug report or add a note.
View this page in:

User Notes:

There are no user contributed notes for this page.