Leerzeichen sollten immer verwendet werden, da Tabulatoren allein für viele Stile nicht flexibel genug sind und das Vermischen von Tabulatoren und Leerzeichen (fast) immer zu einem absoluten Durcheinander führt.
Betrachten Sie als Beispiel für einen Stil, der im Allgemeinen Leerzeichen benötigt , Folgendes:
call_some_function(parameter1,
parameter2,
parameter3,
parameter4,
parameter5,
parameter6,
parameter7);
Wenn Sie nicht bereit sind, alle Ihre Funktionen so umzubenennen, dass sie ein genaues Vielfaches der Registerkartengröße (minus eins in Klammern) sind, reicht dies allein nicht aus.
Beim Mischen von Tabulatoren und Leerzeichen tritt fast sofort ein ernstes Problem auf: Tabulatoren werden nicht auf dieselbe Weise konsistent erweitert. Einige Softwareprogramme behandeln eine Registerkarte als äquivalent zu einer bestimmten Anzahl von Leerzeichen. Andere Software erweitert eine Registerkarte modulo um eine bestimmte Anzahl von Leerzeichen - z. B. beginnt ein Element nach einer Registerkarte immer mit einer Spaltennummer, die ein Vielfaches von (z. B.) 8 ist.
Selbst wenn Sie sicherstellen können, dass keine Leerzeichen mit Ihren Registerkarten gemischt werden, haben Sie dennoch ein Problem: Registerkarten werden auch mit Schriftarten mit variabler Breite schlecht abgespielt. Dieses Problem tritt auf, wenn Sie (zum Beispiel) ausgerichtete nachfolgende Kommentare wünschen:
a.m = 9; // this is the slope
a.i = 4; // this is the intensity
a.x = 1; // this is the x-intercept
So wie sie jetzt stehen, sind alle perfekt aufeinander abgestimmt. Bei einer Schriftart mit variabler Breite wird es jedoch hässlich. Bei Leerzeichen können die Kommentare (häufig) leicht falsch ausgerichtet werden. Bei Registerkarten wird die Fehlausrichtung jedoch häufig recht radikal:
a.m = 9; // this is the slope
a.i = 4; // this is the intensity
a.x = 1; // this is the x-intercept
Plötzlich wurde der kleine Unterschied in der Breite zwischen dem 'i' und dem 'm' oder 'x' in unserer Schriftart mit variabler Breite auf einen ganzen Tabulator vergrößert.
Das Fazit ist, dass fast jede Änderung in der Art und Weise, wie Sie Code mit Registerkarten anzeigen, egal wie trivial sie erscheint, zu einem unlesbaren Durcheinander führen kann und wird.
Um Ihre anderen Fragen zu beantworten: Andere haben bereits darauf hingewiesen, aber ich kann mir nicht vorstellen, dass jemand in einem Programmiereditor (oder vieles andere) tatsächlich die Leertaste verwendet, um die Leerzeichen einzufügen. Ihre Frage spacespacespacespacelautet also : "Tippen " irrelevant, weil das sowieso niemand tut. Ebenso bei Rückständen: Es ist schwer vorstellbar, dass ein Editor BkSpcviermal gedrückt werden muss , um zu einem vorherigen Tabulator zu gelangen. Daher ist die Frage (erneut) irrelevant.
Fazit: Registerkarten sind in Ordnung, wenn Sie (und nur Sie) jemals Ihren Code betrachten, und Sie tun dies immer nur mit einem einzigen Editor, den Sie (überhaupt!) Niemals neu konfigurieren. Diese Bedingungen sind jedoch nahezu unmöglich Erzwingen Sie, dass es nur eine vernünftige Antwort gibt: Verwenden Sie niemals Tabulatoren.
tab
. Wenn Sie dies in Ihrem bevorzugten Editor nicht konfigurieren können, benötigen Sie einen besseren Editor.