Esto es algo que tendrá que observar desde un par de ángulos diferentes, ya que debe tener en cuenta las necesidades del usuario, así como las necesidades del software y los desarrolladores.
En general, a sus clientes no les importará mucho cuál será el número de versión del software siempre que sepan que están ejecutando algo más nuevo (es decir, el Producto 2012 es más nuevo que el Producto 2010) y que lo saben. está actualizado si hay parches que se pueden implementar (es decir, Producto 2012, Actualización 10). Como tal, desde el punto de vista de la marca del cliente, tiendo a preferir una versión con nombre (por ejemplo, Windows XP, Windows Vista) seguida de una secuencia estricta de parches que los usuarios pueden instalar.
Dicho esto, sin embargo, escribir software que verifique las cosas que son fáciles para el usuario tiende a hacer que el código oculto sea mucho más difícil de escribir. Por lo tanto, tiendo a preferir el Major.Minor
esquema de versión simple aunque solo sea porque puede hacer una comparación de números simple para verificar que algo esté actualizado como en lo siguiente:
// Check to see if we can handle the file version
if (this.Version < fileVersion) {
throw new UnsupportedFileException("The file version is " + fileVersion.toString() + " which is not supported");
}
// Do stuff ...
Sin embargo, para poner esto en un poco de contexto, generalmente no me importa qué tan grande se vuelve el número menor (es decir, 1.1024), lo que permite que el sistema anterior continúe ejecutándose con éxito. En general, los números de revisión solo son de interés para el desarrollo interno y en realidad ni siquiera los he visto afectar mucho más allá de darles un número adicional para seguir.
Sin embargo, los dos esquemas anteriores en realidad solo no se aplican a entornos en los que se usa la implementación continua (es decir, Stack Exchange), que es donde tiendo a preferir algún tipo de fecha seguida de un número de revisión que parece usarse en Stack Exchange sitios. El razonamiento de esto es que las versiones van a cambiar con demasiada frecuencia en el entorno de implementación continua y es posible que haya varias versiones del código en el mismo día, lo que justifica el número de revisión y la fecha actual es tan buena como cualquiera para romper cosas fuera aún más. En teoría, podría usar el número de revisión para todo, pero el uso de la fecha actual le permite realizar un seguimiento interno de los principales hitos que podrían hacer que las cosas sean un poco más fáciles de discutir.