Die Antwort ist, dass es für jede Situation kein einziges richtiges Einrückungszeichen geben kann. Die Formatierung mit Zeichen ist unflexibel und kann zu Konflikten führen, wenn innerhalb eines Teams unterschiedliche Stile verwendet werden.
Die einzige Möglichkeit, Code mit unterschiedlichen Formatierungsstilen fehlerfrei und flexibel zu formatieren, besteht darin, den Code virtuell, dh ohne Einrückungszeichen, zu formatieren. Der einzige mir bekannte Code-Editor, der dies unterstützt, ist der im folgenden Beispiel verwendete:
Der folgende Screenshot zeigt die virtuelle Formatierung in einem XSLT-Editor *, der diese Einrückungsmethode verwendet (hier ist auch ein kurzes Video zu sehen ). Jedes Zeichen in der XSLT wurde zur Veranschaulichung gelb hervorgehoben, damit die einzigen Tabulator- oder Leerzeichen im Inhalt klar erkennbar sind. Die Codeeinrückung wird vom Rendering-System des Editors übernommen, indem der linke Rand (der einen weißen Hintergrund hat) angepasst wird.
Die einzigen führenden Leerzeichen stehen vor den Buchzeilen , da es sich um wörtlichen Text und nicht um Code handelt. Diese Leerzeichen müssen beibehalten werden.
Bei der virtuellen Formatierung wählen Sie die Einrückungsbreite, die der Umgebung und dem Einrückungsstil entspricht, ohne die Zeichen in der Quelldatei zu beeinflussen. Sie können die Einrückungsbreite sogar auf 0 setzen, wenn Sie eine abgeflachte Ansicht des Codes benötigen, wie unten gezeigt:
Um dies der Formatierung von Leerzeichen entgegenzusetzen, wird dasselbe XSLT, das in einem Editor ohne virtuelle Formatierung geöffnet wurde, vom Auto-Formatierer dieses Editors folgendermaßen transformiert:
Die größeren leeren gelben Blöcke im obigen Screenshot zeigen deutlich die Leerzeichen, die vom Formatierer des herkömmlichen Editors hinzugefügt wurden. Leider können diese jetzt nicht von echten Inhalten unterschieden werden, sodass das XSLT geändert werden müsste, um dieses Problem zu beheben.
Zusammenfassung
XSLT ist möglicherweise ein Extremfall, aber dieses Prinzip gilt für viele Programmiersprachen: Für den Inhalt sollten Zeichen verwendet werden, und für die Formatierung sollte nach einer alternativen Methode gesucht werden.
** Offenlegung: Der XSLT-Editor mit virtueller Formatierung wurde von meiner eigenen Firma entwickelt *