Autor Tema: Buenas prácticas HTML  (Leído 1182 veces)

Desconectado Warlox

  • Moderadores PHP
  • PHPero Master
  • ****
  • Mensajes: 1.278
  • Karma: 77
  • Sexo: Masculino
  • A veces hay que aprender a correr antes de caminar
    • Ver Perfil
    • Página personal
Buenas prácticas HTML
« en: 10 de Octubre de 2012, 00:41:24 am »
Hola PHPeros.

Hace bastante tiempo que no me vengo a escribir nada por acá, pero es porque por el trabajo casi no me queda tiempo libre, y el poco tiempo libre que me queda lo invierto en mi empresa (sí, soy un workholic).

En fin, quise venir a compartirles un documento que he venido estructurando y comenzando a aplicar en mis proyectos, que espero que les sea de ayuda en algún momento, se trata de buenas prácticas al escribir documentos HTML.



1. Siempre cierra las etiquetas.

Claramente, este es un error digno de muchos principiantes, el no cerrar las etiquetas. Esto, aparte de que puede que te joda todo el flujo del marcado, es totalmente inválido por cualquier validador de código.

Mal:
Código: [Seleccionar]
<ul>
<li>Item #1
<li>Item #2
</ul>

Bien:
Código: [Seleccionar]
<ul>
<li>Item #1</li>
<li>Item #2</li>
</ul>


2. Nunca uses estilos "inline"

Esto realmente que es una muy mala práctica, debido a que nos limita mucho a la hora de retocar nuestro código, inclusive si queremos agregar bloques de código con el mismo comportamiento, estaremos repitiendo código, recuerden una recomendación muy importante es escribir código basado en la filosofía DRY (Don't repeat yourself).

Se recomienda ubicar tus estilos siempre en un archivo CSS (Cascading Style Sheet), y luego llamarlo dentro de los archivos que los vayas a aplicar.

Mal:
Código: [Seleccionar]
<p style="color: red; font-size: 2em;">Some text.</p>
Bien:
Código: [Seleccionar]
<style>
.myParagraph{
color: red;
font-size: 2em;
}
</style>

<p class="myParagraph">Some text.</p>


3. No uses JavaScript "inline"

Por la misma razón de usar CSS inline. Complica luego el optimizado del código, aparte de que es mejor tenerlo todo en un documento, que tenerlo todo "chorreado" por todo tu proyecto.

Mal:
Código: [Seleccionar]
<a href="#" onclick="makeSomeAction(); return false">Do it!</a>
Bien:
Código: [Seleccionar]
<script>
var myAnchor = document.getElementById('myAnchor');

myAnchor.addEventListener('click', function(){
event.preventDefault();
makeSomeAction();
});
</script>

<a href="#" id="myAnchor">Do it!</a>


4. Llama a los archivos CSS dentro del HEAD de tu documento.

Se recomienda llamar tus hojas de estilo externas (o si usas CSS embebido, lo cual es una mala práctica) dentro de la etiqueta HEAD de tu documento para que esta cargue primero las hojas de estilo y luego renderize el documento progresivamente. Esto evita que pase el típico error de que primero se cargue todo el documento y luego las hojas de estilo, cosa que deja una mala experiencia a nuestros visitantes.

Ejemplo:
Código: [Seleccionar]
<head>
<title>My test</title>

<link rel="stylesheet" type="text/css" href="css/layout.css" />
<link rel="stylesheet" type="text/css" href="css/buttons.css" />
</head>


5. Llama a tus archivos JavaScript al final del documento

Justo antes de cerrar la etiqueta BODY. La desventaja de ubicarlos en la etiqueta HEAD, es que el documento hará una pausa para cargar los archivos, y una vez cargados, continuar con el flujo normal del documento y renderizar.

Mal:
Código: [Seleccionar]
<head>
<title>My test</title>

<link rel="stylesheet" type="text/css" href="css/layout.css" />
<link rel="stylesheet" type="text/css" href="css/buttons.css" />

<script type="text/javascript" src="js/functions.js"></script> 
</head>

Bien:
Código: [Seleccionar]
<html>
<body>
<!-- Some code for your body tag -->
<script type="text/javascript" src="path/to/file.js"></script> 
</body>
</html>


6. Escribe tus etiquetas en minúscula (lowercase)

Mal:
Código: [Seleccionar]
<DIV>
<P>Some text.</P>
</DIV>

Bien:
Código: [Seleccionar]
<div>
<p>Some text.</p>
</div>


7. Utiliza los tags H1-H6

Esto te va ayudar en la semántica de tus sitios, y en el posicionamiento en buscadores (SEO).

Mal:
Código: [Seleccionar]
<div class="sectionTitle">Home</div>
Bien:
Código: [Seleccionar]
<h1>Home></h1>

8. Guíate por un patrón de diseño

Separa la lógica de la programación (llámese PHP, Python, Ruby, JavaScript, etc..) del resultado final (vista), permite tener un código muy optimizado y a la ves reusable por si en un futuro alguien se une a tu proyecto.

Un patrón que recomiendo personalmente es el MVC (Model View Controller).


9. Utiliza plantillas prediseñadas para la estructura de tu sitio

Puedes utilizar Boilerplate, el cual viene con Modernizr y Normalize incluídos, aparte de tener un código más limpio y con la mayoría de tips que he explicado anteriormente aplicados.



Bien, hasta ahora esa es la lista de los mejores best practices y los más útiles que he redactado y recopilado a lo largo de la web. Si quieres puedes sugerir más para que estén en esta lista, e ir agrandándola para que les sirvan de ayuda a los nuevos.
- Moderador de PHP


Comunidad PHPeros

Buenas prácticas HTML
« en: 10 de Octubre de 2012, 00:41:24 am »

Desconectado Mixvice

  • PHPero Experto
  • *****
  • Mensajes: 687
  • Karma: 32
  • Sexo: Masculino
  • ¡Y Tu Papá Tambien!
    • Ver Perfil
    • Tuhabbo
Re:Buenas prácticas HTML
« Respuesta #1 en: 17 de Octubre de 2012, 02:53:03 am »
+K, yo antes colocaba el js dentro del head, pero leyendo vi que es mejor antes del cierre del body ;)

Desconectado -Pituko-

  • PHPero Experto
  • *****
  • Mensajes: 954
  • Karma: 20
  • Sexo: Masculino
  • ¡Hala Madrid!
    • Ver Perfil
Re:Buenas prácticas HTML
« Respuesta #2 en: 17 de Octubre de 2012, 21:50:57 pm »
Muy buen manual, +K. Trataré de seguirlo.

Desconectado OmaarV

  • PHPero Avanzado
  • ****
  • Mensajes: 304
  • Karma: 20
  • Sexo: Masculino
  • OmarVega
    • Ver Perfil
Re:Buenas prácticas HTML
« Respuesta #3 en: 25 de Octubre de 2012, 18:56:30 pm »
Yo creo que por plantilla te refieres mas a Grids, tambien les recomiendo Boostrap que es muy bueno.