Tabs respektieren individuelle Lesbarkeit: jede Person stellt die Einrückungsbreite lokal ein, ohne das Repository zu verändern.
Mit Tabs kann ich meine Darstellung an Bildschirm, Font und Sehgewohnheiten anpassen – 2, 4 oder 8 Spalten, ganz ohne Dateiänderungen. Das erhöht Lesbarkeit und reduziert Ermüdung, gerade bei langen Zeilen, kleinen Displays oder spezifischen Barrierefreiheitsbedürfnissen. Im Pairing oder Review muss niemand über eine „richtige“ Breite streiten: Alle sehen optimal, der Code bleibt identisch. Diese Trennung von Darstellung (Editor) und Inhalt (Datei) ist ein klassischer Engineering‑Vorteil.
Tabs für Einrückung, Spaces für Ausrichtung trennt Semantik von Kosmetik und macht Format stabil und nachvollziehbar.
Einrückung ist Struktur – dafür ist das Tabzeichen gemacht; Ausrichtung innerhalb einer Zeile ist optische Feinarbeit – dafür eignen sich Spaces. Dieses Prinzip verhindert, dass eine geänderte Tabbreite Ausrichtungen zerschießt, und erhält gleichzeitig die semantische Bedeutung von Einrückung. Bewährte Stile wie der Linux‑Kernel‑Guide und Tools wie gofmt praktizieren genau das: Tabs zum Einrücken, Spaces zum Ausrichten. Ergebnis: robuster, wartbarer Code mit klarer Absicht.
Mit Tabs sinkt Diff‑Rauschen drastisch, weil Darstellungsänderungen keine inhaltlichen Änderungen erzeugen.
Werden Spaces für Einrückung genutzt, führt schon der Wechsel von 2 auf 4 Spalten zu Massen‑Commits: zahllose Zeilen ändern sich nur wegen Whitespace. Mit Tabs bleibt die Datei unverändert – die Darstellung wird im Editor konfiguriert, nicht im VCS. Das schont Blame‑Historien, reduziert Merge‑Konflikte und lässt Reviews sich auf Logik statt Kosmetik konzentrieren. Kurz: weniger künstlicher Churn, mehr Signal.
Tabs sind speichereffizient bei tiefer Einrückung und in großen Ökosystemen praxiserprobt.
Rein technisch ersetzt ein Tab typischerweise vier Spaces; bei ASCII bedeutet das grob drei Byte weniger pro Einrückungsebene und Zeile (Beispielrechnung). In Projekten mit vielen, tief eingerückten Dateien summiert sich das zu messbaren Einsparungen im unkomprimierten Repo und zu kleineren Patches. Gleichzeitig zeigen etablierte Konventionen – etwa Linux‑Kernel‑Style und gofmt – seit Jahren, dass ein Tab‑First‑Ansatz zuverlässig funktioniert und gut von Werkzeugketten (EditorConfig, Formatter, Linter) unterstützt wird. Effizienz plus erprobte Praxis ist eine robuste Kombination.