La risposta è che non può esserci un singolo carattere di rientro appropriato per ogni situazione. La formattazione usando i personaggi non è flessibile e può causare conflitti quando si usano stili diversi all'interno di una squadra.
L'unico metodo per formattare il codice in modo impeccabile e flessibile con diversi stili di formattazione è farlo virtualmente, cioè senza caratteri di rientro. L'unico editor di codice che conosco che supporta questo è però quello utilizzato nell'esempio seguente:
Per dimostrare la formattazione virtuale , la schermata qui sotto è da un editor * XSLT che utilizza questo metodo indentazione (c'è anche un breve video qui ). Ogni personaggio in XSLT è stato evidenziato in giallo, a scopo illustrativo, per consentire di vedere chiaramente solo i caratteri di tabulazione o spazio nel contenuto. Il rientro del codice è gestito dal sistema di rendering dell'editor che regola il margine sinistro (che ha uno sfondo bianco).
Gli unici caratteri spaziali iniziali precedono le righe di Libri , poiché si tratta di contenuti letterali di testo, non di codice, questi caratteri spaziali devono essere preservati.
Con la formattazione virtuale scegli la larghezza del rientro in base all'ambiente e allo stile di rientro senza influire sui caratteri nel file di origine. Puoi anche impostare la larghezza del rientro su 0, se hai bisogno di una vista appiattita del codice come mostrato di seguito:
Per contrastare questo con la formattazione dei caratteri spaziali, la stessa XSLT aperta in un editor senza formattazione virtuale viene trasformata dal formatter automatico di quell'editor in questo:
I blocchi gialli vuoti più grandi nella schermata sopra mostrano chiaramente i caratteri dello spazio aggiunti dal formattatore dell'editor convenzionale. Sfortunatamente, ora questi non possono essere distinti dal contenuto reale, quindi XSLT dovrebbe essere modificato per correggere questo problema.
Sommario
XSLT è forse un caso estremo, ma questo principio vale per molti linguaggi di programmazione: i caratteri dovrebbero essere usati per il contenuto e un metodo alternativo dovrebbe essere cercato quando si tratta di formattazione.
** Divulgazione: l'editor XSLT con formattazione virtuale è stato sviluppato dalla mia stessa azienda *