Zawsze należy używać spacji, ponieważ same tabulatory nie są wystarczająco elastyczne dla wielu stylów, a łączenie tabulatorów i spacji (prawie) zawsze powoduje absolutny bałagan.
Na przykład jednego stylu, który zwykle wymaga spacji, rozważ coś takiego:
call_some_function(parameter1,
parameter2,
parameter3,
parameter4,
parameter5,
parameter6,
parameter7);
O ile nie chcesz zmienić nazwy wszystkich swoich funkcji, aby były dokładną wielokrotnością rozmiaru tabulacji (minus jedna w nawiasie), same karty po prostu tego nie zrobią.
Jeśli chodzi o mieszanie tabulatorów i spacji, prawie natychmiast natrafisz na poważny problem: tabulatory nie są konsekwentnie rozwijane w ten sam sposób. Niektóre oprogramowanie traktuje kartę jako odpowiednik określonej liczby spacji. Inne oprogramowanie rozszerzy tabulację o określoną liczbę spacji - np. Pozycja po tabulacji zawsze zaczyna się od numeru kolumny, który jest wielokrotnością (powiedzmy) 8.
Nawet jeśli możesz się upewnić, że spacje nie zmieszają się z kartami, nadal masz problem: tabulatory również źle działają z czcionkami o zmiennej szerokości. Ten problem pojawia się, gdy (na przykład) chcesz dopasować końcowe komentarze:
a.m = 9; // this is the slope
a.i = 4; // this is the intensity
a.x = 1; // this is the x-intercept
W tej chwili wszystkie są idealnie ustawione. Jednak oglądane czcionką o zmiennej szerokości rzeczy stają się brzydkie. W przypadku spacji komentarze mogą (często będą) być nieco źle dopasowane. Jednak w przypadku kart przesunięcie często staje się dość radykalne:
a.m = 9; // this is the slope
a.i = 4; // this is the intensity
a.x = 1; // this is the x-intercept
Nagle niewielka różnica szerokości między „i” a „m” lub „x” w naszej czcionce o zmiennej szerokości została powiększona do całego tabulatora.
Najważniejsze jest to, że prawie każda zmiana w sposobie wyświetlania kodu za pomocą kart, bez względu na to, jak pozornie trywialna, może i zwykle spowoduje nieczytelny bałagan.
Aby odpowiedzieć na inne pytania: inni już to zauważyli, ale nie wyobrażam sobie, aby ktokolwiek w edytorze programowym (lub wiele innych rzeczy) faktycznie używał spacji do wstawiania spacji, więc twoje pytanie dotyczące: „pisania spacespacespacespace” nieistotne, ponieważ i tak nikt tego nie robi. Podobnie z odstępami wstecznymi: trudno jest wyobrazić sobie edytor, który wymagałby BkSpcczterokrotnego naciśnięcia, aby przejść do poprzedniego tabulatora, więc (ponownie) pytanie nie ma znaczenia.
Podsumowując: zakładki są w porządku, jeśli ty (i tylko ty) kiedykolwiek spojrzysz na swój kod, i robisz to tylko za pomocą jednego edytora, którego nigdy nie konfigurujesz (wcale!) Te warunki są jednak tak blisko, że niemożliwe egzekwuj, że jest tylko jedna rozsądna odpowiedź: nigdy nie używaj tabulatorów.
tab
. Jeśli nie możesz tego skonfigurować w swoim ulubionym edytorze, potrzebujesz lepszego edytora.