La respuesta es que no puede haber un solo carácter de sangría adecuado para cada situación. El formateo con caracteres es inflexible y puede causar conflictos cuando se utilizan diferentes estilos dentro de un equipo.
El único método para formatear código de manera impecable y flexible con diferentes estilos de formateo es hacerlo virtualmente, es decir, sin caracteres de sangría. Sin embargo, el único editor de código que sé que admite esto es el que se usa en el ejemplo a continuación:
Para demostrar el formato virtual , la captura de pantalla a continuación es de un editor XSLT * que usa este método de sangría (también hay un video corto aquí ). Todos los caracteres en el XSLT se han resaltado en amarillo, con fines ilustrativos, para permitir que las únicas pestañas o caracteres de espacio en el contenido se vean claramente. La sangría del código es manejada por el sistema de renderizado del editor ajustando el margen izquierdo (que tiene un fondo blanco).
Los únicos caracteres de espacio iniciales preceden a las líneas de Libros , ya que se trata de contenido de texto literal, no de código, estos caracteres de espacio deben conservarse.
Con el formato virtual, usted elige el ancho de sangría que se adapte al entorno y al estilo de sangría sin afectar los caracteres del archivo fuente. Incluso puede establecer el ancho de sangría en 0, si necesita una vista plana del código como se muestra a continuación:
Para contrastar esto con el formato de caracteres de espacio, el mismo XSLT abierto en un editor sin formato virtual se transforma mediante el formateador automático de ese editor a esto:
Los bloques amarillos en blanco más grandes en la captura de pantalla anterior muestran claramente los caracteres de espacio agregados por el formateador del editor convencional. Desafortunadamente, estos no se pueden distinguir del contenido real, por lo que el XSLT tendría que modificarse para corregir este problema.
Resumen
XSLT es posiblemente un caso extremo, pero este principio es válido para muchos lenguajes de programación: los caracteres se deben usar para el contenido y se debe buscar un método alternativo cuando se trata de formatear.
** Divulgación: el editor XSLT con formato virtual fue desarrollado por mi propia empresa *