Versionado de proyectos en programación
Resumen
Generalmente al crear un proyecto en programación lo nombras como v1
, luego v1.1
, v2
, etc. Sin embargo, no es necesario inventarse la rueda; ya existen guÃas de buenas prácticas que definen claramente cómo versionar un proyecto.
- SemVer. Versionado semántico. (Recomendado)
- Versionado por calendario. Basado en años.
- Versionado por código de revisión. Basado en el commit.
- Versionado por fecha. Basado en la fecha exacta de actualización.
- Versionado por nivel de madurez. Basado en el estado del desarrollo.
GuÃas de versionado
SemVer
El formato SemVer o versionado semántico define tres niveles de actualización:
1
→ Versión mayor, para cambios incompatibles.0
→ Versión menor, para nuevas funcionalidades.0
→ Parche, para corrección de errores.
Ejemplo completo:
1.0.0
→ Primera versión estable.1.1.0
→ Nueva funcionalidad compatible.1.1.1
→ Corrección de errores.
Versionado por calendario
Se basa en el año y, opcionalmente, el mes para identificar las actualizaciones dentro de ese año.
YY
/YYYY
→ Año del lanzamiento.MM
/M
→ Mes del lanzamiento.
Ejemplo real: Ubuntu
20.04
. Versión de abril del 2020.22.10
. Versión de octubre del 2022.
Versionado por código de revisión
Asocia la versión al número de commit, hash de Git, o compilación.
r1234
→ Revisión 1234 en el sistema de control de versiones.build-458
→ Compilación número 458.
Ejemplo completo:
git-abc123
. Versión asociada al commit especÃficoabc123
.
Versionado por fecha
Basado en fechas exactas, útil para publicaciones frecuentes.
20240101
→ Versión publicada el 1 de enero de 2024.2024.01.03
→ Versión publicada el 3 de enero de 2024.
Ejemplo completo:
2023-12-31
(última versión del año 2023).
Versionado por nivel de madurez
Indica el estado del desarrollo de la versión.
alpha
→ En fase inicial, inestable.beta
→ Funcional, pero en pruebas.rc1
→ Versión candidata, próxima a ser estable.
Ejemplo completo:
1.0-alpha
→ Primer desarrollo experimental.1.0-beta
→ Versión en pruebas.1.0-rc1
→ Primera candidata a estable.
Preguntas y Respuestas
¿Cuál es la diferencia entre el versionado por calendario y el versionado por fecha?
El Versionado por calendario es más general, se enfoca en actualizaciones por segmentos del año (como años o semestres), es decir, si tu proyecto está acostumbrado a lanzar una actualización en cierto mes del año. El Versionado por fecha es más especifico, detalla el momento exacto del lanzamiento, se usa para proyectos que se actualizan constantemente.