Ouracademy

Más control de versiones

Una traducción del post MoreVersionControl de Martin Fowler.

Como alguien que usa versionadores todo el tiempo (con herramientas como Git), creo que cada vez más el uso de versionadores puede ser usado en otras áreas. Muy aparte de los desarrolladores, pocas otras personas lo usan. Sin embargo, tal y como sabemos los desarrolladores, los controladores de versiones o versionadores son muy útiles al realizar trabajos colaborativos, ya que ayudan a que múltiples personas puedan trabajar juntas. Entonces ¿cúales serían los beneficios de usar un control de versiones en otras áreas?

Lo bueno es que estamos llegando al punto en el que es práctico que cualquier pesona use un versionador en su trabajo. Git, Subversion y otros sistemas están disponibles de forma gratuita y eliminan muchas de las limitaciones de versionadores antiguos como CVS. Además actualmente el espacio de un disco es lo suficientemente barato como para que pueda poner todo trabajo bajo un control de versiones.

Sin embargo, aún existe una gran limitante, es que la mayoría de las aplicaciones y herramientas no se dan cuenta de la importancia del versionar. Word y Google Drive actualmente poseen un control de versiones, sin embargo esto no sucede en la mayoría de las aplicaciones que las personas usan. ¿Cómo estás otras aplicaciones podrían usar las ideas de un versionamiento (como diff o merge)?

Por ejemplo, me gusta dibujar diagramas con herramientas como Visio. Sería interesante poder ver las diferencias entre 2 versiones de un diagrama o por ejemplo ver que cambios hizo otra persona a mi diagrama. Esto es especialmente útil en aplicaciones para sectores maduros, en un sistema para gestionar contratos se debe poder ver que cambio se realizo a un contrato (como alguna adenda) o en un sistema clínico se debe poder ver que se recetó a un paciente en citas médicas anteriores. Para realmente obtener valor de este tipo de cosas quizá necesitemos herramientas que soporten un Diff Semántico quizá usando alguna técnica de temporalidad como Event Sourcing

Semantic merge

Semantic Merge: una herramienta que usa un diff semantico en vez de solo comparar el resultado (textos) como Git lo hace.

Esta podría ser una gran oportunidad para que la comunidad open source tome aplicaciones convencionales y las mueva en esa dirección. Algunas buenas ideas de aquí podrían realmente mejorar el trabajo colaborativo. Y claro estoy feliz que cada vez haya mas herramientas que poseen estas carácteristicas de versionamiento, como lo hacen Google Drive, Trello o Figma.

Si te fue útil este artículo, por favor compártelo. Apreciamos los comentarios y el aliento.
Compartelo por:

Quiza te pueda interesar...

Porque Ouracademy?

Los inicios de ouracademy y el porque seguimos haciendolo

Bolsa de 5 libras

o los problemas de tener un plan fijo y como lidiar con ello. Una traducción del articulo de Martin Fowler: When to make a Type

Explicando la funcion map

que es map? con ejemplos en javascript y python