49. Buenas prácticas {#49-buenas-prácticas}
No existe una única forma correcta de escribir Markdown, pero sí un conjunto de prácticas que mejoran la legibilidad, la portabilidad, el mantenimiento y la accesibilidad. La regla general es: el contenido primero, la herramienta después.
49.1 Estructura y organización {#491-estructura-y-organización}
- Usa un solo H1 por documento y encabezados jerárquicos.
- Divide documentos largos en archivos con un propósito claro.
- Mantén una estructura consistente en todos los documentos.
- Incluye un índice en documentos extensos.
- Usa nombres descriptivos para archivos y carpetas (
guia-instalacion.md, nodoc2.md). - Enlaza documentos relacionados con rutas relativas.
- Mantén el README actualizado y con enlaces a la documentación completa.
- Versiona la documentación junto al código.
- Archiva o marca como obsoleta la documentación que ya no aplica.
49.2 Escritura y estilo {#492-escritura-y-estilo}
- Escribe para el lector: explica el qué, el porqué y el cómo.
- Usa ejemplos reales y verificables.
- Sé conciso, pero no omitas información necesaria.
- Define siglas la primera vez que aparecen.
- Mantén una terminología consistente.
- Revisa ortografía y gramática.
- Evita dobles negaciones y frases ambiguas.
- Usa voz activa cuando sea posible.
- Incluye advertencias y requisitos previos antes de los pasos peligrosos.
49.3 Sintaxis y formato {#493-sintaxis-y-formato}
- Deja una línea en blanco antes y después de títulos, listas, tablas, citas y bloques de código.
- No uses HTML innecesario; si lo necesitas, justifícalo.
- Especifica el lenguaje en los bloques de código.
- Usa tablas con encabezado y columnas claras.
- Evita líneas excesivamente largas si el proyecto tiene una regla de estilo.
- Escapa los caracteres especiales cuando deban mostrarse literalmente.
- Usa listas de tareas solo cuando aporten seguimiento real.
- No abuses de negritas y mayúsculas para enfatizar.
- Mantén las tablas simples; si son muy complejas, divide o usa otro formato.
- Usa bloques de código con fences, no indentación, salvo que el renderizador lo requiera.
49.4 Enlaces, imágenes y multimedia {#494-enlaces-imágenes-y-multimedia}
- Usa enlaces descriptivos, no “haz clic aquí”.
- Comprueba los enlaces de forma automática.
- Usa rutas relativas dentro del repositorio.
- Incluye texto alternativo en todas las imágenes informativas.
- Optimiza las imágenes y usa formatos adecuados.
- Evita imágenes de texto.
- Añade pies de figura cuando aporten contexto.
- Incluye subtítulos y transcripciones para vídeo y audio.
- No enlaces a recursos que puedan desaparecer sin indicar una alternativa.
49.5 Código y ejemplos {#495-código-y-ejemplos}
- Muestra código completo y ejecutable cuando sea posible.
- Indica el lenguaje y la versión si afecta al ejemplo.
- Evita secretos, tokens y datos personales en los ejemplos.
- Marca las líneas que cambian con comentarios, no solo con color.
- Explica el resultado esperado después del ejemplo.
- Mantén los ejemplos sincronizados con el código real; si es posible, genéralos o pruébalos en CI.
49.6 Documentación de proyectos {#496-documentación-de-proyectos}
- README claro con descripción, instalación, uso, requisitos y licencia.
- CONTRIBUTING.md con el flujo de contribución.
- CHANGELOG.md siguiendo Keep a Changelog y SemVer cuando aplique.
- LICENSE explícita.
- ADR para decisiones arquitectónicas importantes.
- Documentación de API con endpoints, parámetros, errores y ejemplos.
- Plantillas para issues, pull requests y documentos repetidos.
- Guía de estilo para el equipo.
- Fecha de última revisión o versión en documentos críticos.
49.7 Calidad automatizada {#497-calidad-automatizada}
- Linting en local y en CI.
- Formateo consistente con Prettier u otra herramienta.
- Comprobación de enlaces.
- Corrección ortográfica.
- Validación de Front Matter.
- Compilación de MDX y Mermaid en CI.
- Previsualización del sitio antes de publicar.
- Revisión por pares de los cambios de documentación.
49.8 Seguridad y accesibilidad {#498-seguridad-y-accesibilidad}
- Sanitiza el HTML si el contenido no es de confianza.
- No compiles MDX no confiable.
- Revisa dependencias y plugins.
- Aplica accesibilidad desde el principio, no como una corrección final.
- Prueba con teclado y lector de pantalla.
- Mantén el contraste y no dependas solo del color.
- Usa lenguaje claro y estructura predecible.
49.9 Checklist final {#499-checklist-final}
- Título y jerarquía correctos.
- Introducción y propósito claros.
- Ejemplos verificados.
- Enlaces y anclas funcionales.
- Imágenes con
alt. - Tablas con encabezado.
- Código con lenguaje.
- Sin HTML innecesario.
- Sin secretos ni datos personales.
- Linting y enlaces comprobados.
- Documento revisado por otra persona.
- Publicado en el formato correcto.