Ir al contenido principal

Destacado

C4 Model | Por una mejor comunicación

Introducción. Han pasado muchos años desde la introducción de UML en el ámbito del desarrollo de software, con la llegada de Agile , la forma de desarrollar software cambió drásticamente: algunos conceptos evolucionaron, aparecieron nuevos mientras que otros fueron abandonados. Hoy en día, UML es utilizado por contadas personas,  la propia industria ha dejado de lado aquellos elaborados diagramas,  recurriendo a diagramas genéricos o diagramas parciales, altamente variados entre sí, para representar y describir arquitecturas/diseños. Aquí es donde entra Simon Brown , quien identificó este problema de comunicación dentro de las organizaciones. Para solucionarlo, desarrolló el modelo C4 , un sistema de modelos, capaz de describir el software de manera clara y accesible, no solo para  los equipos de desarrollo y arquitectos sino para todo aquel interesado en comprender el funcionamiento y  estructura de un sistema . Modelo C4. El modelo C4 se basa en un c...

Versionado Semántico

El versionado semántico busca simplificar la forma de comunicar los cambios que presenta algún componente  de software, ya sea una librería, un aplicación de escritorio, un página web o una API.

Pero ¿Qué es? ¿De dónde viene? 

Probablemente hayas notado que cuando instalas un programa o consumes una librería, el nombre del mismo viene acompañado de un número (un tanto críptico), generalmente como parte del mismo nombre o en una leyenda a parte.

jquery-1.2.1.js
react@17.0.1
linux-6.1.0.tar.gz

Ejemplo de librerías/software con sus respectivos número de versión


Como podemos observar en los ejemplos anteriores, la version sigue un determinado formato: X.Y.Z, donde:

X - Representa la versión Mayor

Y - Representa la versión Menor

Z - Representa la versión Parche

  1. Se incrementa la versión Mayor, si los cambios introducidos son incompatibles con versiones anteriores.
  2. Se incrementa la versión Menor, si los cambios introducidos son funcionalidades nuevas compatibles con versiones anteriores y,
  3. Se incrementa la versión Parche, si los cambios implican correcciones de errores compatibles con versiones anteriores.

Podremos encontrar una que otra variación dependiendo del fabricante/autor de la pieza de software, ya que también es posible indicar el estado en el que se encuentra el mismo. 


Las versiones prelanzamiento (alpha, beta) indican que el software esta completo pero no es estable y se libera para dar a conocer el producto o recibir feedback de los usuarios.

jquery-1.2.1-alpha.js


Al final esto no es más que una convención, que sí bien, está bastante aceptada en el mundo del desarrollo de software, no estamos obligados a seguir pero nos hará la vida más sencilla tanto a nosotros, como autores de software, como a las personas usando nuestros productos/componentes.

Así por ejemplo, clientes usando nuestra librería sabrán que es seguro actualizar de la version 1.1.0 a la version 1.5.2 sin temor a que se rompa nada; Más no así de la versión 1.8.0 a la 2.0.0, donde de acuerdo a la regla hay cambios que no son compatibles y que seguramente romperán el código consumiendo nuestra librería. 


See you, digital cowboy! 

Comentarios

Entradas populares