Control de versiones semántico: qué es, qué no es y por qué lo necesita


La mayor parte del software que utiliza publica nuevas versiones con frecuencia, generalmente identificadas por un número de versión asociado. El sistema se llama "Control de versiones semántico" 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 correctamente.

¡Hablemos de números!

Qué es el control de versiones semántico

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

La página de descarga de WordPress.

El sistema utilizado para determinar este número se denomina "control de versiones". Más específicamente, está viendo un ejemplo de control de versiones semántico, en el que la versión 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 importantes como para justificar una actualización importante.
  • Parches o correcciones de errores.

En el momento de escribir este artículo, 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 una versión 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, lo que tradicionalmente ocurre cada cuatro meses cuando se trata de WordPress.

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

Si no está seguro de si la actualización vale la pena, simplemente consulte el registro de cambios que aparece con cada versión. Cada desarrollador que se precie publicará un registro escrito de las novedades con 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.

Quién puede beneficiarse del uso del control de versiones semántico

Por lo general, encontrará que son los desarrolladores quienes utilizan 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 visita una página de complementos en WordPress.org, puede encontrar información sobre sus lanzamientos y registros de cambios dentro del Desarrollo lengüeta:

Un ejemplo de un registro de cambios.

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 Registro de desarrollo enlace en la parte inferior de la página:

Una lista de registros de desarrollo.

En resumen, puede utilizar el control de versiones semántico para prácticamente cualquier tipo de proyecto que implique código. Sin embargo, también tiene aplicaciones fuera del desarrollo sencillo. 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 lo que respecta 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 de 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, utilizan sistemas basados ​​en 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 sistema de control de versiones único que se adapte perfectamente a cada tipo de proyecto. Sin embargo, el control de versiones semántico es una gran opción si trabaja en el desarrollo de software de cualquier tipo. Además, es una gran 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ántico

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

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

En algún momento, probablemente haya utilizado 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 esté 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.

Toma el popular juego de PC Fortaleza enana, 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.

El juego Dwarf Fortress.

Si bien podría irse 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 del usuario 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 tener un poco más de desarrollo en su haber. Mientras tanto, sin embargo, puede utilizar esos versiones alfa para pruebas internas, que es clave para el buen desarrollo de cualquier proyecto.

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

Una de las situaciones más molestas en las que puede encontrarse como usuario final es recibir un montón de actualizaciones sin saber qué hace ninguna de ellas. 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.

Un ejemplo de un registro de cambios.

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

Para ser sincero, normalmente nos contentamos con una lista simple y concisa de las novedades. Crear un registro de cambios es simple y no debería tomar mucho tiempo, así que sea tranquilo y no escatime en sus deberes.

3. Recopile comentarios de los usuarios para cada versión

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

Idealmente, obtendrás algún nivel de retroalimentación por cada lanzamiento que publiques, salvo pequeños parches y correcciones de errores. El objetivo de este proceso es informarle si los usuarios tienen algún problema o si tienen problemas con la dirección en la que se dirige 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 cierto nivel de retroalimentación para ti, que puedes incorporar en futuras versiones.

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

Conclusión

Control de versiones semántico es un sistema notablemente simple. Con solo unos pocos números, puede transmitir mucha información sobre el progreso del 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 empiece con la primera versión fuera de la puerta.
  2. Explique los cambios específicos para cada nueva versión.
  3. Reúna los comentarios de los usuarios para cada versión.

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

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