previousЛицензирование (Previous) (Next) PHP 4.3.x pear bundle out of datenext

View this page in Last updated: Sun, 18 Oct 2009
Hungarian | Russian

Почему стандарт кодирования 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, которая создана для конвертации кода в соответствующий вид.

previousЛицензирование (Previous) (Next) PHP 4.3.x pear bundle out of datenext

Download Documentation Last updated: Sun, 18 Oct 2009
Do you think that something on this page is wrong? Please file a bug report or add a note.
User Notes:
There are no user contributed notes for this page.