Miért alapulnak a PEAR kódolási szabályok szóközök használatán TAB-ok helyett?

A választ Stig Bakken írta.

A szóközök használata és a tabok használatának mellőzése az egyetlen módja annak, hogy bizonyosan legyünk benne, hogy egy-egy kódrészlet minden szövegszerkesztőben ugyanúgy jelenik meg. Sok szövegszerkesztő a tabokat 4 szóközként jeleníti meg, és sok másik szerkesztő vagy terminál program 8 szóközként. Például:

printf("%s",
       $arg);

Itt 7 szóköz áll a "$arg" előtt. Ha ezt a kódot egy, a tabot 4 szóközzel helyettesítő szövegszerkesztővel írtuk volna meg, egy tabként és három darab szóközként tárolná el. Ha most egy másik fejlesztő megnyitja ugyanezt a fájlt egy 8-szóközt behelyettesítő szövegszerkesztőben, akkor az így festene:

printf("%s",
           $arg);

Hasonlóképpen ez a kód 8-szóközt behelyettesítő szoftver esetén:

    if ($foo &&
        $bar) {}

Egy 4-szóközt alkalmazó szoftverben megtekinteve így nézne ki:

    if ($foo &&
    $bar) {}

A PEAR-hez hasonló közösségekben, ahol a fejlesztők rengeteg különböző rendszert és szövegszerkesztőt használnak, a tabok használata egyszerűen nem működik. Egy idő után a fejlesztési idő nagy része arra menne el, hogy a fejlesztők a szóközöket tabokra cserélgetik és fordítva. Ha mindenki csak szóközt használ, minden rendszeren ugyanolyan az eredmény.

Jamie Zawinski is írt a témában.

Ezenkívül létezik egy Astyle nevű eszköz is, amely segít a más stílusban megírt kódot a kívánt formátumra konvertálni.