Estándares de versionado de aplicaciones
Los estándares de versionado de aplicaciones están diseñados para garantizar un desarrollo ordenado y proporcionar un marco claro y estructurado que evite problemas de desarrollo comunes -como sobrescrituras involuntarias, conflictos de integración y eliminaciones de funciones de última hora- al tiempo que garantiza la coherencia entre proyectos. Versionar aplicaciones aporta ventajas clave en cuanto a trazabilidad, calidad, colaboración y flexibilidad:
Permite un seguimiento claro de lo que se ha cambiado, cuándo y por quién, lo que facilita la auditoría de versiones, la vinculación de cambios a funciones específicas y la elaboración de informes de entrega.
Mejora la calidad aislando los desarrollos, evitando regresiones y agilizando las pruebas y la resolución de errores.
Favorece el trabajo en colaboración al permitir que varios desarrolladores contribuyan en paralelo sin conflictos.
Ofrece flexibilidad para activar o desactivar funciones, adoptar estrategias de implantación modernas y revertir los cambios cuando sea necesario sin afectar al resto de la aplicación.
Estos estándares están especialmente diseñados para:
nuevos proyectos que aún no han empezado a desarrollarse;
proyectos que no tienen un esquema de versionado definido y quieren empezar a aplicarlo; y
proyectos con un esquema de versionado sencillo que empieza a presentar retos ante las nuevas necesidades de los clientes.
Lo que encontrarás aquí
Esta documentación proporciona información detallada, mejores prácticas y consideraciones adicionales para elegir un enfoque de versionado adecuado y sostenible para tu proyecto. También destaca las estrategias para mitigar los riesgos al versionar, cómo tratar las entidades no versionadas para evitar incoherencias y cómo definir un enfoque de trabajo para incorporarlas al esquema de versionado.
Para ello, la documentación se subdivide en categorías para que puedas seguirlas durante los procesos de ramificación e integración.
Definición y aplicación del versionado: Definiciones sobre cuándo crear ramas en un proyecto.
Esquemas de versionado: Descripción en profundidad de los dos esquemas de versionado, el basado en funcionalidad y el unificado, con pros y contras para cada uno de ellos y una guía de implementación paso a paso.
Integración: Una guía de integración con estándares de creación de merge requests que las aplique tu equipo.
Resolución de conflictos: Una guía de resolución de conflictos, con información sobre cómo detectar el origen de un conflicto, normas generales de resolución de conflictos aplicables a ambos esquemas de versionado y estándares exclusivos del esquema basado en funcionalidades.
Documentación adicional sobre cómo proteger ramas, cómo crear etiquetas de versión, cómo comparar desarrollos y ramas y cómo revertir una fusión.
Aunque la adopción de los esquemas propuestos puede requerir un esfuerzo considerable para los proyectos que ya cuentan con un modelo de versionado, debes utilizar este contenido para revisar tus estrategias actuales de versionado y detectar cualquier oportunidad de mejora.