<! - open -> ¿Por qué tantos desarrolladores hacen esto en su HTML? <! - / cerrar ->

8
 <body>  
  <!-- wrapper -->  
  <div id="wrapper"> 
   <!-- title -->
   <div id="title"><img src="title.png" alt="" /></div>

   <!-- form wrapper -->
   <div id="form_wrapper">

    <!-- form -->
    <form action="thankyou.php" method="POST">
     <!-- ... ... -->
    </form>
    <!-- /form -->
   </div>
   <!-- /form wrapper -->
  </div>
  <!-- /wrapper -->
 </body>

Casi puedo entenderlo <!-- /wrapper -->al final, porque está muy lejos del comienzo de la etiqueta / par ... pero en serio, ¿cuál es el punto de las líneas de comentarios iniciales? No haría la pregunta si no viera esto todo el tiempo .

Siento como si me faltara algo. Tal vez hay algunas mejores prácticas no escritas involucradas, aunque no entiendo lo que podría ser. Es más que probable que sea solo un comportamiento obsesivo compulsivo.

¿Cómo comentan normalmente su marcado, si es que lo hacen?

Stephen
fuente
1
Creo que voy a comenzar a hacer eso.
Peter Turner
1
Si bien este tipo de cosas puede ser útil cuando funciona, he visto que esos comentarios se divorcian de sus etiquetas asociadas después de un tiempo, y luego están haciendo más daño que bien.
Rohan Singh
1
esta es una tautología en el mejor de los casos y un antipatrón peligroso en el peor, tan pronto como alguien edite este desastre, los comentarios no estarán sincronizados con la realidad y serán más desordenados que sin ellos. Un formato adecuado y un buen IDE hacen que este tipo de basura sea inútil.
1
Supongo que la verdadera razón por la que algunos desarrolladores pueden preferir este estilo es que parece simétrico: muchos desarrolladores mediocres prefieren escribir código simétrico sin desperdiciar un pensamiento si esto tiene sentido o es completamente mental. Esto a veces se llama "programación por coincidencia".
Doc Brown

Respuestas:

9

Algunas veces, los nombres de clase CSS son genéricos y no se nombran específicamente. Por ejemplo, ¿qué pasaría si tuvieras

<!--Code before-->



<!--Column one-->
<div class="center-bold">




    <!--Tons of lines-->




</div>
<!--End column-->

¿No sería bueno saber cuál es tu comienzo? Seguramente no me gustaría desplazarme hasta el final para descubrir que todo el div era una columna.

TheLQ
fuente
Aceptable solo porque el comentario de "apertura" identifica un elemento de marcado que aún no está identificado con un ID o una clase descriptiva.
Stephen
3
Supongo que lo que más me molestó fueron los despidos </form><!-- /form -->y<!-- wrapper --><div id="wrapper">
Stephen
Esto es a lo que me refería, su ejemplo está más explícitamente presentado. ¡Buena respuesta!
Chris
6

HTML es como un código compilado para mí. Está optimizado, no tiene espacios, no hay comentarios y es lo más pequeño posible mientras realiza el trabajo. Sin embargo, tengo algunos comentarios en mis plantillas que generan los archivos HTML. Sin embargo, nunca los verás, ¡a menos que te unas al equipo de desarrollo!

Lo mismo ocurre con JavaScript. Cualquier JS que vea en mi sitio está comprimido, minimizado y tiene los comentarios eliminados. ¡Los comentarios son para desarrollar, no para desperdiciar ancho de banda!

andrewrk
fuente
4

Por lo general, mi marcado se genera dinámicamente, por lo que los comentarios no están incluidos ... pero cuando escriba el marcado tendré:

<!-- start BLOCK--> 
  html markup 
<!-- close BLOCK--> 

Me facilita ver dónde están los principales bloques / divs dentro de mi código.

Chris
fuente
Estoy totalmente de acuerdo.
Evik James
2

Creo que esto proviene de documentos que no tienen la sangría adecuada. Entonces, si no puede saber de dónde es de la columna en la que se encuentra, entonces lo mejor es mirar los comentarios. Parece haber evolucionado a partir de este dilema.

Personalmente, me pondría en contacto con las personas que no usan sangría de código.

Xeoncross
fuente
1

Solo puedo pensar en un caso de uso válido para esto: plantillas HTML parciales.

Si se trata de una página HTML completa, debe sangrar correctamente para que sea fácil identificar cuándo comienzan y terminan los elementos. Los editores decentes también resaltan los extremos opuestos de las etiquetas. En estos casos, los comentarios extraños son molestos.

Si es una plantilla parcial (encabezado y pie de página, por ejemplo), entonces si está abriendo algunos contenedores de páginas, puede ser útil mostrar en el pie de página dónde termina.

encabezamiento

<div id="header">
    ...
</div>
<div id="contentContainer">
    <div id="content">

pie de página

    </div> <!-- /#content -->
</div> <!-- /#contentContainer -->
<div id="footer">
    ...
</div>

En casos (quizás más complejos) como este, tener los comentarios es bastante útil para ver qué etiqueta se supone que se está cerrando. Este es el único caso que he encontrado en el que no me importan estos comentarios, sin embargo, todavía se sienten sucios.

Adrian Schneider
fuente
Sí, con elementos como vistas y plantillas, esto a menudo plantea un problema, ya que cada segmento se sangra solo con el código específico de ese archivo.
Xeoncross
1

Esto es útil si la página está representada por múltiples archivos / plantillas diferentes, etc.

Algo como esto:

<?php

echo "<!-- sidebar -->\n";
include("sidebar.php");  
echo "<!-- /sidebar -->";
# Or better yet, put the HTML comments *inside* sidebar.php
?>

De esa manera, si nota algo extraño en su HTML renderizado, puede rastrear rápidamente el código que lo creó.

tylerl
fuente