Versionado Semántico
CategoriasProgramación

Sistema de versiones o versionado semántico

Versionado semántico

En el mundo del desarrollo de software, hay un tema llamado “sistema de versiones”, que es importante saber y dominar, para poder llevar un control organizado de los cambios que se producen en un programa a lo largo del tiempo.

El sistema de versiones trata de que cada modificación que realicemos sobre el software, ya sea corrigiendo errores, incorporando nuevas características y funcionalidades o simplemente, la más mínima modificación, la marquemos con una versión especifica. Esto nos permitirá, como he dicho al principio, ver y controlar la evolución del software.

Ahora bien, ¿para qué sirve todo esto?

Sencillamente, para mantener un historial de cambios. Esto nos permitirá saber en todo momento, qué cambios se realizaron, cuándo, por qué y por quién.

Eso sí, como casi todo, hay que seguir una convención o unas pautas si queremos hacerlo correctamente.

Por ejemplo, lo más común es seguir la convención llamada versionado semántico o “SemVer” por su nombre en inglés de, “Semantic Versioning”.

Siguiendo esta convención, cada versión de nuestro software la debemos de etiquetar con tres números, siguiendo el formato X.Y.Z, donde:

  • X: Representa una versión mayor indicando que se ha realizado una modificación lo suficientemente grande y que cambia bastante la funcionalidad del software llegando incluso (a veces) a ser incompatible con versiones anteriores. En otras palabras, se han agregado y modificado un montón de características.
  • Y: Se indica cuando hemos agregado nuevas características, pero no afecta a la compatibilidad con versiones anteriores. En otras palabras, se han modificado algunas cosas, pero no hay un cambio drástico, es decir, es compatible con otras versiones.
  • Z: Representa correcciones de errores y mejoras menores. En otras palabras, hemos arreglado algunos errores y no se ve afectado el comportamiento general del software.

Imagina que un programa que cuya versión es 1.0.0 y pasa a la versión 1.0.1, esto significará que se han corregido algunos errores o se han realizado algunas mejores, pero no afecta a su funcionalidad. Si este programa, más adelante cambia a la versión 1.1.0, significa que se han agregado nuevas características, pero la versión sigue siendo compatible con la anterior. Si el programa cambia a una versión 2.0.0, significa que ha habido una modificación grande o importante en la que puede verse afectada la compatibilidad con versiones anteriores y la forma en la que el programa se comporta.

Como se puede comprobar, las versiones no solo ayudarán a los desarrolladores a mantener su código, sino que también ayuda a los usuarios finales, ya que teniendo un sistema de versiones bien implementado, permite que los usuarios finales del programa, sepan de que trata cada versión, por ejemplo, si es una actualización con características nuevas o una actualización que incluye corrección de errores.

Decir también que normalmente, casi por norma general, el sistema de versiones se suele gestionar a través de Git.

Como ves, un sistema de versiones es fundamental para cualquier tipo de proyecto, pues nos permite ver la evolución del software y ver el ciclo de vida del programa. Al seguir convenciones como el versionado semántico, garantizamos que el software evolucione de manera organizada.

Por último, decirte que a veces seguro has visto versiones de software de tipo: 1.0, 1.5, etc. Pues bien, este sistema de versiones de dos dígitos, se puede decir que sigue la misma convención del versionado semántico, pero de manera más simplificada. Esto quiere decir que el primer dígito sigue siendo X, que representa cambios mayores o significativos y, el segundo, Y, representa nuevas características o mejoras. Sin embargo, aquí, no se hace distinción entre cambios menores o correcciones de errores.

Por ejemplo, un software con una versión 1.0 que pase a una versión 1.5, nos indicará que se han agregado nuevas características o algunas mejoras sin romper con la compatibilidad de versiones anteriores.

Ahora bien, ¿y los errores? ¿Qué pasa cuando se arreglan errores?

Pues sencillamente se suelen incluir dentro de las versiones menores (Y). En este “versionado”, no se suele distinguir entre agregar nuevas características o corregir errores, ya que todo se agrupa en la misma actualización. Por tanto, una versión 1.5, podría indicarnos que se incluyen tantas mejoras nuevas como correcciones de errores.

Para finalizar el artículo, si no sabes cual usar (tres o dos dígitos), decirte que uses el que más te convenga. Pero normalmente, el sistema de dos dígitos, se suele usar para software más sencillo, donde no se requiere un gran nivel de detalle sobre parches o correcciones. También hay que decir que es más fácil de entender.

Sobre el autor

Comparte:

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Información básica sobre protección de datos
Responsable Óscar Martínez +info...
Finalidad Gestionar y moderar los comentarios +info...
Legitimación Consentimiento del interesado. +info...
Destinatarios No se cederán datos a terceros, salvo obligación legal +info...
Derechos Acceder, rectificar y cancelar los datos, así como otros derechos. +info...
Información adicional Puedes consultar la información adicional y detallada sobre protección de datos en nuestra página de política de privacidad.

Este sitio esta protegido por reCAPTCHA y laPolítica de privacidady losTérminos del servicio de Googlese aplican.

El periodo de verificación de reCAPTCHA ha caducado. Por favor, recarga la página.