TAB vs SPACE beim Dokumentieren

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

1/**
2 * @brief This is my function
3 * @param[in] a         the first value
4 * @param[in] something the second value
5 */
6void my_func(int a, int something);

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:

 1{
 2  // global
 3  "editor.tabSize": 4,
 4  "editor.insertSpaces": true,
 5
 6  // individual
 7  "[cmake]": {
 8    "editor.tabSize": 2,
 9    "editor.insertSpaces": true
10  }
11}
📧 📋 🐘 | 🔗 🔔
 

Meine Dokus über:
 
Weitere externe Links zu:
Alle extern verlinkten Webseiten stehen nicht in Zusammenhang mit opengate.at.
Für deren Inhalt wird keine Haftung übernommen.



Wenn sich eine triviale Erkenntnis mit Dummheit in der Interpretation paart, dann gibt es in der Regel Kollateralschäden in der Anwendung.
frei zitiert nach A. Van der Bellen
... also dann paaren wir mal eine komplexe Erkenntnis mit Klugheit in der Interpretation!