2011-03-25 10 views
24

Muchos sitios web, por ejemplo, el texto estándar html5 usan dos espacios. Los proyectos predeterminados de Visual Studio como ASP.NET MVC 3 usan una pestaña. ¿Se convertirá uno en la forma estándar de sangrar html?html indenting standard, tab o two spaces?

+0

Posible duplicado http://stackoverflow.com/questions/2678817/2-spaces-or-1-tab-whats-the-standard-for-indentation-in-the-rails-community –

+5

No se ha duplicado la otra pregunta es específico de los rieles. – Myster

+0

No estoy de acuerdo en que esta sea una pregunta basada en la opinión porque aparentemente está preguntando si existe un estándar correcto único (que no existe), y no cuál es mejor. –

Respuesta

10

No creo que haya un estándar especificado por W3C. Debido a que HTML elimina el exceso de espacio en blanco de todos modos, debe ir con lo que le resulte más cómodo.

5

Creo que el día en que la sangría HTML se convierta en una práctica estándar, habrá mucho regocijo, independientemente de cuál sea el estándar real.

Sugeriría pestañas, principalmente porque las uso y estoy más cómodo con ellas. Pero también ahorra algunos bytes de descarga para cada página, y con millones de solicitudes de página, se suman.

35

No utilice pestañas; usa dos espacios Las pestañas son problemáticas porque pueden tener un ancho diferente en diferentes editores (y terminales, para el caso). Como se elimina el espacio en blanco al ordenar el HTML antes de la implementación, no hay un beneficio de ancho de banda máximo para usar pestañas; simplemente introducen un comodín en su experiencia de desarrollo.

Dos espacios están surgiendo como estándar porque son "solo suficientes" para hacer que el HTML quede claramente indentado para la mayoría de las personas, pero porque HTML tiende a anidar muy profundamente, mucho más profundamente de lo que comúnmente se anida cuando se programa y algo más de dos espacios tiende a comenzar a empujar HTML fuera del borde derecho de una pantalla de 80 columnas bastante rápido.

+34

No estoy de acuerdo en que las pestañas sean diferentes en diferentes editores es un problema, es una ventaja, siempre y cuando solo las use al principio de las líneas. (según mi respuesta a continuación) – Myster

+2

Estoy de acuerdo. 4 Los espacios no son adecuados para HTML porque la estructura anidada suele ser demasiado profunda. –

38

No existe una norma, pero ...
Utilizar las pestañas, que es lo que sirven.
Ventajas: menos bytes, el usuario puede establecer su ancho de visualización preferido.

Advertencia: las pestañas utilizadas dentro de las líneas para alinear columnas se alinearán incorrectamente si el ancho de las pestañas del creador difiere de la del visor, por lo que utilizo espacios para alinear columnas.

Editar Estoy envejeciendo, y ya no me importa tanto. Aunque todavía considero las pestañas superiores en sus ventajas enumeradas anteriormente. También debe considerar: el más simple (espacios), o la adopción más amplia (en su comunidad, posiblemente más amplia que solo su lugar de trabajo), lo que funciona para usted.

11

¡TABS no son para MarkUp-Languages! (¡Incluso si Myster y MS creen que sí!) Hay una razón por la cual el texto repetitivo usa espacios, y por qué son exactamente dos. MS no es realmente conocido por usar formatos de intercambio razonables, por lo que me abstendré de hacer un comentario sobre ASP.NET MVC3.

TABS se utilizaron en la era de las aplicaciones de terminal. Hoy en día, es mejor dejarlos para que los interprete la interfaz de usuario, y luego como un intercambio de datos/almacenamiento específico. Entonces el argumento como "usar pestañas ya que son más rápidos para escribir" ... simplemente me deja sin palabras. Sí, el editor DEBERÍA interpretar una acción del usuario y concluir la acción apropiada, pero si la UI/editor no puede traducir una pestaña en dos espacios, entonces ¡claramente está usando la herramienta incorrecta!

¡Estoy totalmente de acuerdo con el razonamiento del Sr. Rhodes! Y esa es la razón por la cual cualquier editor razonable ofrece una opción para la conversión de tabulación a espacio.

El argumento "tamaño de almacenamiento guardado" es falso, porque la compresión en el intercambio html es casi obligatoria. ¡Un espacio demasiado simplificado puede terminar siendo el token más utilizado en su documento y se comprime de manera efectiva hasta unos pocos bits (2-4)!Por lo tanto, dividir espacios en pestañas y espacios puede dañar la compresión.

Y solo los espacios son consistentes en varias aplicaciones. La interpretación de la pestaña puede variar bastante de 2 a 8 espacios.

Si no desea terminar formateando cada vez que su infraestructura subyacente cambia, use dos espacios.

ps: acabo de comprobar la aparición de espacios para este html (hasta el párrafo anterior) y obtuve 15177. El siguiente carácter frecuente era 't' con 4468. La aparición de pestañas tenía un respetable 1101. Usando gzip y lzo, la versión de la pestaña era de hecho una fracción más pequeña que un espacio solamente.

Así que no puedo disuadir por completo el argumento de "espacio de almacenamiento", tanto como me gustaría.

2

Parece que no hay una respuesta absoluta.
La ficha ha sido un estándar en la codificación de programa real, y sí que proviene de "los días de las pantallas de terminal de 80 caracteres ", pero eso no lo hace obsoleto.

Como alguien dijo anteriormente, "Use pestañas, es para lo que son".

El argumento de que algunos editores les presentan de manera diferente es una admisión de que hay hay un estándar en los editores y que no se debe equiparar a forzar una norma en particular en marcar - a menos que exista una razón válida para hacerlo, como si pestaña causó un resultado destructivo al marcado. Si su editor lo obliga a tomar ciertas decisiones, intente con un editor que le permita hacer las cosas de manera coherente, si es razonable hacerlo.

Al final del día, hasta que surja un estándar real, use lo que funciona y es generalmente aceptado. Parece que una ficha o dos espacios son ambos generalmente aceptados en este momento, pero se alejan de la pestaña porque algunos editores no lo mostrarán constantemente, es solo un error o descuido en el editor.

El argumento "solo una pulsación de tecla" puede sonar flojo, pero en realidad es más eficiente, que es un punto para ese método.

En referencia a la programación en C, Linus Torvalds, una autoridad reconocida (pero no absoluta), ha declarado: "Las pestañas son de 8 caracteres, y por lo tanto, las sangrías también son de 8. Hay movimientos heréticos que intentan hacer indentaciones 4 (o incluso 2!) caracteres de profundidad, y eso es similar a tratar de definir el valor de PI para que sea 3. "

Sí, eso se refiere a la marca C y no al web, y sí expresa el concepto con un sabor obvio , pero el punto real es válido. Estoy seguro de que alguien podría encontrar muchas otras expresiones menos coloridas del mismo concepto , pero tuve este ejemplo a mano.