Versionado semántico: qué es, qué no es y por qué lo necesita

La mayoría del software que utiliza lanza nuevas versiones con frecuencia, generalmente identificadas por un número de versión asociado. El sistema se denomina «versión semántica» y le permite realizar un seguimiento del progreso del desarrollo. Además, si trabaja con WordPress, definitivamente puede beneficiarse de las buenas prácticas de control de versiones semánticas.

En este artículo, le daremos una introducción rápida al sistema de control de versiones semántico y cómo funciona. Luego, hablaremos sobre quién puede beneficiarse de su uso y le daremos algunos consejos para asegurarse de que lo haga bien.

¡Hablemos de números!

Qué es el versionado semántico

Si va a la página de descarga de WordPress.org, notará que le dice qué versión del sistema de administración de contenido (CMS) está descargando:

El sistema utilizado para determinar este número se llama ‘versión’. Más específicamente, está viendo un ejemplo de control de versiones semántico, en el que el lanzamiento se divide en tres números separados por puntos. Repasemos qué significa cada uno de esos valores:

  • La versión de lanzamiento principal, que se correlaciona con los cambios en la API.
  • Actualizaciones menores del software, no lo suficientemente significativas como para justificar una actualización importante.
  • Parches o correcciones de errores.

Al momento de escribir, estamos en la versión 5.1.1 de WordPress. La versión 5.0.0 salió el 6 de diciembre de 2018. Desde entonces, hemos tenido cinco parches menores (incrementos en el número final) y un lanzamiento menor, en este orden:

  1. 5.0.1
  2. 5.0.2
  3. 5.0.3
  4. 5.0.4
  5. 5.1
  6. 5.1.1

Como puede ver, el número de parche se reinicia cada vez que hay una actualización menor. Lo mismo se aplica cuando hay un lanzamiento importante, que tradicionalmente ocurre cada cuatro meses cuando se trata de WordPress.

El objetivo principal detrás de las versiones semánticas es permitirle realizar un seguimiento de todos los cambios y el progreso que realiza. Además, si es un usuario final y se mantiene al día con los lanzamientos, los números de versión le indican cuándo es realmente importante actualizar. Por ejemplo, puede omitir uno o dos parches de errores, pero cada vez que hay una versión menor o mayor, debe actualizar (¡lo estamos observando, ya sabe!).

Si no está seguro de si vale la pena actualizar, simplemente consulte el registro de cambios que aparece con cada versión. Cada desarrollador que se precie publicará un registro escrito de las novedades de cada lanzamiento.

En general, el control de versiones semántico es bastante sencillo y útil en muchas situaciones más allá del desarrollo de software. Hablemos de cuáles son esos.

Quién puede beneficiarse del uso de versiones semánticas

Por lo general, encontrará que son los desarrolladores los que usan sistemas de control de versiones. En cuanto a WordPress, los ejemplos más obvios son las actualizaciones del propio núcleo. Sin embargo, los desarrolladores de complementos y temas también utilizan versiones semánticas, aunque los números suelen ser difíciles de encontrar. Por ejemplo, si consulta la página de un complemento en WordPress.org, puede encontrar información sobre sus lanzamientos y registros de cambios en la pestaña Desarrollo :

Asimismo, puede encontrar información sobre el desarrollo de un tema dentro de las páginas asociadas de WordPress.org. Sin embargo, en este caso, debe hacer clic en el enlace Registro de desarrollo en la parte inferior de la página:

En resumen, puede usar el control de versiones semántico para casi cualquier tipo de proyecto que involucre código. Sin embargo, también tiene aplicaciones fuera del desarrollo directo. Por ejemplo, puede aplicar el control de versiones a proyectos de diseño. Aquí, puede buscar aumentar el número de versión para cambios visuales importantes, el valor para adiciones de nuevos elementos o ajustes menores. En cuanto a los parches, puede reservarlos para pequeñas actualizaciones o correcciones visuales.

Sin embargo, el control de versiones semántico puede ser el juego más popular en la ciudad, pero no es el único sistema que puede usar. Por ejemplo, el navegador Chrome utiliza un sistema de versión de cuatro secciones: major.minor.build.patch .

Otros proyectos, como Ubuntu, usan sistemas construidos alrededor de fechas. Por ejemplo, Ubuntu se encuentra actualmente en la versión 19.04, que, como habrás adivinado, se lanzó en abril de 2019.

En general, no existe un único sistema de control de versiones que se adapte perfectamente a cada tipo de proyecto. Sin embargo, el control de versiones semántico es una excelente opción si trabaja en el desarrollo de software de cualquier tipo. Además, es una excelente introducción si aún no está utilizando ningún tipo de protocolo de control de versiones.

3 mejores prácticas para el control de versiones semánticas

A estas alturas, ya tienes una idea de cómo funciona el control de versiones semántico. Sin embargo, repasemos algunos consejos para asegurarnos de que lo use de la manera correcta.

1. No comience con la versión 1.0 de inmediato

En algún momento, probablemente haya utilizado un software que aún no ha llegado a la versión 1.0. Esto es completamente normal, ya que los usuarios esperan que la versión 1.0.0 sea relativamente estable y libre de errores. Sin embargo, también conduce a situaciones en las que el software tarda mucho en alcanzar ese número, sin dejar de ser completamente utilizable.

Tome el popular juego de PC Dwarf Fortress , por ejemplo. Ha estado en desarrollo durante unos 15 años y todavía está en la versión 0.44.12 a pesar de incluir más funciones que la mayoría de los juegos principales.

Si bien podría llegar a los extremos con esto, no comenzar con la versión 1.0.0 de inmediato tiene sentido. Le permite realizar una prueba beta de su software y moderar las expectativas de los usuarios mientras lo hace.

Internamente, debe comenzar con la versión 0.1.0. Sin embargo, la mayoría de los proyectos no hacen pública esta versión, sino que esperan hasta que tengan un poco más de desarrollo en su haber. Sin embargo, mientras tanto, puede usar esas versiones alfa muy limitadas para pruebas internas, lo cual es clave para el desarrollo saludable de cualquier proyecto.

2. Explique los cambios específicos para cada nueva versión

Una de las situaciones más molestas en las que te puedes encontrar como usuario final es recibir un montón de actualizaciones sin saber qué hacen. Sabemos que la mayoría de la gente no lee los registros de cambios, pero si va a publicar una actualización, incluso si es solo un parche menor, debe documentarlo.

Los registros de cambios, como su nombre lo indica, son un simple desglose de las novedades de cada versión. Algunos desarrolladores escriben actualizaciones extensas para explicar cada cambio y, si eres uno de ellos, más poder para ti.

Para ser honesto, generalmente nos contentamos con una lista simple y concisa de las novedades. Armar un registro de cambios es simple y no debería llevar mucho tiempo, ¡así que sé genial y no escatimes en tus deberes!

3. Reúna los comentarios de los usuarios para cada versión

Probablemente tenga una idea bastante buena de cómo quiere que se vea su proyecto terminado. Sin embargo, esto no significa que pueda eliminar los comentarios de los usuarios o del resto de su equipo.

Idealmente, obtendrá cierto nivel de comentarios para cada versión que publique, salvo pequeños parches y correcciones de errores. El objetivo de este proceso es informarle si los usuarios tienen algún problema o tienen problemas con la dirección que toma el proyecto.

El ejemplo más sencillo de este proceso en acción sería compartir la última versión de un sitio web en curso con el cliente. En la gran mayoría de los casos, los clientes tendrán algún nivel de retroalimentación para usted, que puede incorporar en versiones futuras.

Sin embargo, tenga en cuenta que escuchar los comentarios es importante, pero en algunos casos, es posible que usted sepa más que sus usuarios. Sin embargo, esto no significa que debas ignorarlos, pero a veces tu instinto puede tener razón.

Conclusión

El control de versiones semántico es un sistema notablemente simple. Con solo unos pocos números, puede transmitir mucha información sobre el progreso de desarrollo de su proyecto, informar a los usuarios cuando hay nuevas actualizaciones importantes y, en general, mantener las cosas organizadas.

Recapitulemos tres de las mejores prácticas que debe tener en cuenta para el control de versiones semántico:

  1. No comience con la primera versión fuera de la puerta.
  2. Explique los cambios específicos para cada nueva versión.
  3. Recopile comentarios de los usuarios para cada versión.

¿Tiene alguna pregunta sobre cómo usar el control de versiones semántico? ¡Pregunte en la sección de comentarios a continuación!

Imagen en miniatura del artículo de fatmawati achmad zaenuri / shutterstock.com