TAB vs SPACE beim Dokumentieren
« | 03 Nov 2024 | »Die Debatte über TABs vs SPACEs ist uralt und wird genau so bissig geführt, wie die Frage welcher Gott der richtige ist.
Und nun erschüttert ausgerechnet Doxygen mein Weltbild.
Ich verwende TABs. Schon immer.
Deshalb muss es richtig sein.
Dass wir gerade in “alten” Umgebungen häufig Tabs finden ist vermutlich der Tatsache geschuldet, dass alte Editoren in DOS und Windows vor 30 Jahren keine automatischen Einrückungen für uns gemacht haben und man selbst die nötigen Tasten drücken musste.
Mit TAB war es eben ein Tastendruck “pro Ebene”, die man einrücken wollte
und damit hoch effizient.
Ich hätte vermutlich durchgedreht, wenn ich bei jeder Basic-Zeile in einem
IF Block immer 4 mal auf SPACE hätte hauen müssen.
(Zugegeben, in Basic waren Einrückungen selten … obwohl
QBASIC bereits damals
mit seinen SUBs damit anfing.)
VSCode ist TAB-Blind bei der Dokumentation
Neulich fiel mir auf, dass die automatisch generierte Tooltop-Anzeige mit Funktionsparametern in Visual Studio Code bei meinen Funktionen nicht immer korrekt arbeitete.
Der Text
wird absolut korrekt angezeigt, wenn nur SPACEs eingesetzt werden.
Ich nutzte aber nach dem Parameter oft TAB zur Trennung von Parametername
und Beschreibung, damit die Beschreibungen “schön” untereinander standen.
Hier verband VSCode den Namen und das erste Wort der Beschreibung zu einem
Block und formatierte seine Anzeige entsprechend.
Das ganze ist zwar kein Drama, man kann immer noch alles lesen, doch es
zeigt mir auf: Doxygen-Code-Parser wollen SPACEs und haben mit TABs
kleine Problemchen.
Fazit
Ich werde das GATE Framework jetzt nicht sofort umschreiben … doch neue Dokus und auch neue Projekte werden in Zukunft mehr SPACE-lastig sein.
Ein Kollege meinte mal:
Es gibt Studien, die belegen, dass Programmierer, die SPACE einsetzten, mehr Geld verdienen.
Nun … wie seriös das auch sein mag, es kann nicht schaden dem Trend
zu folgen.
Und der baut eben auf der Leertaste auf.
Zum Glück gibt uns VSCode in seiner settings.json die Möglichkeit Tabs
entweder zu erzwingen oder durch SPACEs zu ersetzten.
Und man kann das für jeden Dateityp auch justieren: