versions - sinonimo - version synonym
¿Qué representan típicamente los números en una versión(es decir, v1.9.0.1)? (28)
Tal vez esta es una pregunta tonta, pero siempre he asumido que cada número delineado por un período representaba un componente único del software. Si eso es cierto, ¿alguna vez representan algo diferente? Me gustaría comenzar a asignar versiones a las diferentes compilaciones de mi software, pero no estoy muy seguro de cómo debería estructurarse. Mi software tiene cinco componentes distintos.
Cada organización / grupo tiene su propio estándar. Lo importante es que te atengas a la notación que elijas, de lo contrario tus clientes se confundirán. Habiendo dicho eso, he usado normalmente 3 números:
x.yz.bbbbb. Donde: x: es la versión principal (principales características nuevas) y: es el número de versión menor (pequeñas características nuevas, pequeñas mejoras sin cambios de UI) z: es el paquete de servicio (básicamente lo mismo que xy pero con algunas correcciones de errores bbbb: es el número de compilación y solo es realmente visible desde el "recuadro" con otros detalles para la atención al cliente. bbbb es un formato gratuito y cada producto puede usarlo solo.
Cuantos más puntos, menor será el lanzamiento. No existe un estándar sólido real más allá de eso; puede significar cosas diferentes en función de lo que decidan los mantenedores del proyecto.
WordPress, por ejemplo, sigue estas líneas:
1.6 -> 2.0 -> 2.0.1 -> 2.0.2 -> 2.1 -> 2.1.1 -> 2.2 ...
1.6 a 2.0 sería una gran versión: características, cambios de interfaz, cambios importantes en las API, rotura de algunas plantillas y complementos de 1.6, etc. 2.0 a 2.0.1 sería una versión menor, tal vez solucionando un error de seguridad. 2.0.2 a 2.1 sería una versión importante: nuevas características, en general.
Depende un poco del idioma, Delphi y C #, por ejemplo, tienen diferentes significados.
Por lo general, los dos primeros números representan una versión mayor y una versión menor, es decir, 1.0 para la primera versión real, 1.1 para algunas correcciones de errores importantes y nuevas características menores, 2.0 para una nueva versión grande de la función.
El tercer número puede referirse a una versión o revisión "realmente menor". 1.0.1 es solo una pequeña corrección de errores a 1.0.0 por ejemplo. Pero también puede llevar el número de Revisión de su Sistema de Control de Fuente, o un número en constante aumento que se incrementa con cada compilación. O un Datestamp.
Un poco más de detalle here . "oficialmente", en .net, los 4 números son "Major.Minor.Build.Revision", mientras que en Delphi hay "Major.Minor.Release.Build". Utilizo "Major.Minor.ReallyMinor.SubversionRev" para mi control de versiones.
Depende, pero la representación típica es la de major.minor.release.build .
Dónde:
- major es la principal versión de lanzamiento de su software, piense .NET 3.x
- menor es la versión de lanzamiento menor de su software, piense .NET x.5
- lanzamiento es el lanzamiento de esa versión, por lo general las correcciones de errores aumentarán este
- build es un número que denota el número de compilaciones que ha realizado.
Así, por ejemplo, 1.9.0.1, significa que es la versión 1.9 de su software, después de 1.8 y 1.7, etc., donde 1.7, 1.8 y 1.9 de alguna manera suelen agregar pequeñas cantidades de nuevas funciones junto con las correcciones de errores. Como es xx0.x, es la versión inicial de 1.9 y es la primera versión de esa versión.
También puede encontrar buena información sobre el artículo de Wikipedia sobre el tema .
Desde el archivo C # AssemblyInfo.cs puede ver lo siguiente:
// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
/ You can specify all the values or you can default the Build and Revision Numbers
// by using the ''*'' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
El número de versión de un software complejo representa todo el paquete y es independiente de los números de versión de las partes. La versión 3.2.5 de Gizmo podría contener Foo versión 1.2.0 y Bar versión 9.5.4.
Al crear números de versión, úselos de la siguiente manera:
El primer número es el lanzamiento principal. Si realiza cambios significativos en la interfaz de usuario o necesita romper las interfaces existentes (para que los usuarios tengan que cambiar su código de interfaz), debe ir a la nueva versión principal.
El segundo número debe indicar que se han agregado nuevas características o que algo funciona de manera diferente internamente. (Por ejemplo, la base de datos Oracle podría decidir utilizar una estrategia diferente para recuperar datos, haciendo que la mayoría de las cosas sean más rápidas y algunas cosas más lentas.) Las interfaces existentes deberían continuar funcionando y la interfaz de usuario debería ser reconocible.
La numeración de versiones depende de la persona que escribe el software: Oracle usa cinco (!) Grupos, es decir. una versión de Oracle es algo así como 10.1.3.0.5. Desde el tercer grupo inactivo, solo debe introducir correcciones de errores o cambios menores en la funcionalidad.
El paradigma de la principal versión release.minor release.bug es bastante común, creo.
En algunos contratos de soporte empresarial, hay $$$ (o incumplimiento de responsabilidad contractual) asociado con la forma en que se designa un lanzamiento en particular. Un contrato, por ejemplo, podría dar derecho a un cliente a cierto número de lanzamientos importantes en un período de tiempo, o prometer que habrá menos de x número de lanzamientos menores en un período, o que el soporte seguirá estando disponible para tantos lanzamientos. Por supuesto, no importa cuántas palabras se incluyan en el contrato para explicar qué es una versión principal frente a una versión menor, siempre es subjetiva y siempre habrá áreas grises, lo que da lugar a la posibilidad de que el proveedor de software pueda jugar con el sistema. vencer tales disposiciones contractuales.
El primer número generalmente se conoce como el número de versión principal. Básicamente se utiliza para denotar cambios significativos entre compilaciones (es decir, cuando agrega muchas características nuevas, incrementa la versión principal). Es probable que los componentes con diferentes versiones principales del mismo producto no sean compatibles.
El siguiente número es el número de versión menor. Puede representar algunas características nuevas, o una serie de correcciones de errores o pequeños cambios en la arquitectura. Los componentes del mismo producto que difieren en el número de versión menor pueden o no funcionar juntos y probablemente no deberían funcionar juntos.
El siguiente se llama generalmente el número de compilación. Esto puede incrementarse diariamente, o con cada compilación "liberada", o con cada compilación. Puede haber solo pequeñas diferencias entre dos componentes que difieren solo en el número de compilación y, por lo general, pueden funcionar bien juntos.
El número final suele ser el número de revisión. Muchas veces esto es utilizado por un proceso de compilación automático, o cuando está construyendo "desechables" de una sola vez para realizar pruebas.
Cuando incrementa sus números de versión depende de usted, pero siempre deben incrementarse o permanecer igual . Puede hacer que todos los componentes compartan el mismo número de versión o que solo incrementen el número de versión en los componentes modificados.
En el caso de una biblioteca, el número de versión le informa sobre el nivel de compatibilidad entre dos versiones y, por lo tanto, qué tan difícil será una actualización.
Una versión de corrección de errores necesita preservar la compatibilidad binaria, fuente y serialización.
Los lanzamientos menores significan cosas diferentes para diferentes proyectos, pero generalmente no necesitan preservar la compatibilidad de la fuente.
Los números de versión principales pueden romper las tres formas.
Escribí más sobre la razón de ser here .
En la versión 1.9.0.1 :
1 : revisión mayor (nueva interfaz de usuario, muchas características nuevas, cambios conceptuales, etc.)
9 : revisión menor (tal vez un cambio en un cuadro de búsqueda, 1 función añadida, colección de correcciones de errores)
0 : lanzamiento de corrección de errores
1 : número de compilación (si se usa): es por eso que ve el marco .NET usando algo como 2.0.4.2709
No encontrarás muchas aplicaciones bajando a cuatro niveles, 3 suele ser suficiente.
Esto es lo que usamos:
- Primer número = Era general del sistema. Cambia cada dos años y normalmente representa un cambio fundamental en la tecnología o las características del cliente, o ambas cosas.
- Segundo número = revisión del esquema de la base de datos. Un incremento en este número requiere una migración de la base de datos, por lo que es un cambio significativo (o los sistemas se replican, por lo que cambiar la estructura de la base de datos requiere un proceso de actualización cuidadoso). Restablece a 0 si el primer número cambia.
- Tercer número = cambio solo de software. Esto generalmente se puede implementar cliente por cliente ya que el esquema de la base de datos no se modifica. Restablece a cero si el segundo número cambia.
- Número de versión de Subversion. Completamos esto automáticamente en la compilación usando la herramienta TortoiseSVN. Este número nunca se reinicia, sino que se incrementa continuamente. Al usar esto siempre podemos recrear cualquier versión.
Este sistema nos está sirviendo bien porque cada número tiene una función clara e importante. He visto a otros equipos lidiar con la pregunta de número mayor / número menor (qué tan grande es el cambio principal) y no veo el beneficio de eso. Si no necesita realizar un seguimiento de las revisiones de la base de datos, simplemente vaya a un número de versión de 3 o 2 dígitos y ¡haga la vida más fácil!
Existe la especificación de versión semántica
Este es el resumen de la versión 2.0:
Dado un número de versión MAJOR.MINOR.PATCH, incremente el:
MAJOR version when you make incompatible API changes, MINOR version when you add functionality in a backwards-compatible manner, and PATCH version when you make backwards-compatible bug fixes.
Se encuentran disponibles etiquetas adicionales para los metadatos preliminares y de compilación como extensiones del formato MAJOR.MINOR.PATCH.
Las personas no siempre reconocen la sutil diferencia entre los números de versión como 2.1, 2.0.1 o 2.10. Pregúntele a la persona de soporte técnico cuántas veces han tenido problemas con esto. Los desarrolladores están orientados a los detalles y están familiarizados con las estructuras jerárquicas, por lo que este es un punto ciego para nosotros.
Si es posible, exponga un número de versión más simple a sus clientes.
Los números de versión generalmente no representan componentes separados. Para algunas personas / software los números son bastante arbitrarios. Para otros, las diferentes partes de la cadena del número de versión representan cosas diferentes. Por ejemplo, algunos sistemas aumentan partes del número de versión cuando cambia el formato de un archivo. Por lo tanto, V 1.2.1 es un formato de archivo compatible con todas las demás versiones de V 1.2 (1.2.2, 1.2.3, etc.) pero no con V 1.3. En última instancia, depende de usted qué esquema desea usar.
Los números pueden ser útiles según lo descrito por otras respuestas, pero considere cómo pueden ser bastante insignificantes ... Sun, usted sabe SUN, java: 1.2, 1.3, 1.4 1.5 o 5 luego 6. En los viejos y buenos números de versión de Apple II. Alguna cosa. Hoy en día, la gente se da por vencida en los números de versión y va con nombres tontos como "Fig. Feisty" (o algo así) y "garza robusta" y "europa" y "ganymede". Por supuesto, esto es mucho menos útil porque te vas a quedar sin lunas de Júpiter antes de que dejes de cambiar el programa, y como no hay un pedido obvio, no puedes decir cuál es más nuevo.
Los números pueden significar lo que quieras, aunque generalmente no están relacionados con los componentes individuales, sino más bien con los cambios mayores y menores en comparación con el mantenimiento en tu versión.
Vea estos recursos:
http://www.netbeans.org/community/guidelines/process.html
http://en.wikipedia.org/wiki/Release_engineering
http://www.freebsd.org/releases/6.0R/schedule.html
Aclamaciones
Major.Minor.Bugs
(O alguna variación sobre eso)
Los errores suelen ser correcciones de errores sin nuevas funcionalidades.
Menor es un cambio que agrega nueva funcionalidad pero no cambia el programa de ninguna manera importante.
Major es un cambio en el programa que rompe la funcionalidad anterior o es tan grande que de alguna manera cambia la forma en que los usuarios deberían usar el programa.
Major.minor.point.build por lo general. Las principales y las menores se explican por sí mismas, el punto es un lanzamiento para algunas correcciones de errores menores, y la compilación es solo un identificador de compilación.
Por lo general, el número tiene el formato de version.major.minor.hotfix, no componentes internos individuales. Así que v1.9.0.1 sería la versión 1, la versión principal 9 (de v1), la versión menor (de v1.9) 0, la corrección urgente 1 de (v1.9.0).
Puede ser muy arbitrario y difiere de un producto a otro. Por ejemplo, con la distribución de Ubuntu, 8.04 se refiere a 2008. Abril
Normalmente, los números más a la izquierda (principales) indican un lanzamiento importante, y cuanto más avanzas hacia la derecha, menor es el cambio involucrado.
Sip. Los lanzamientos importantes agregan características nuevas y grandes, pueden romper la compatibilidad o tener dependencias significativamente diferentes, etc.
Los lanzamientos menores también agregan características, pero son versiones más pequeñas, a veces desfasadas, de la versión beta principal.
Si hay un tercer componente de número de versión, generalmente se trata de correcciones de errores importantes y correcciones de seguridad. Si hay más, realmente depende tanto del producto que es difícil dar una respuesta general.
Todos eligen lo que quieren hacer con estos números. He tenido la tentación de llamar a los comunicados abc ya que es bastante tonto de todos modos. Una vez dicho esto, lo que he visto en los últimos 25 años de desarrollo tiende a funcionar de esta manera. Digamos que su número de versión es 1.2.3.
El "1" indica una revisión "importante". Por lo general, esta es una versión inicial, un gran cambio de conjunto de características o una reescritura de partes significativas del código. Una vez que se determina el conjunto de características y se implementa al menos parcialmente, se pasa al siguiente número.
El "2" indica un lanzamiento dentro de una serie. A menudo utilizamos esta posición para quedar atrapados en las características que no lo hicieron en la última versión principal. Esta posición (2) casi siempre indica una función de agregar, generalmente con correcciones de errores.
El "3" en la mayoría de las tiendas indica un lanzamiento de parche / corrección de errores. Casi nunca, al menos en el aspecto comercial, esto indica una característica importante agregar. Si las características aparecen en la posición 3, es probable que se deba a que alguien revisó algo antes de que supiéramos que teníamos que hacer una versión de corrección de errores.
Más allá de la posición "3"? No tengo idea de por qué la gente hace ese tipo de cosas, solo se vuelve más confuso.
Notablemente, algunos de los OSS que existen arrojan todo esto fuera de wack. Por ejemplo, la versión 10 de Trac es en realidad 0.10.XX. Creo que mucha gente en el mundo OSS no tiene confianza o simplemente no quiere anunciar que tienen un lanzamiento importante.
Una combinación de parche de seguridad mayor, menor, parche, compilación, etc.
Los dos primeros son mayores y menores, el resto dependerá del proyecto, la empresa y, a veces, la comunidad. En sistemas operativos como FreeBSD, tendrá 1.9.0.1_number para representar un parche de seguridad.
Usualmente es:
MajorVersion.MinorVersion.Revision.Build
los que varían menos serían los dos primeros, para major.minor, después de eso puede ser cualquier cosa, desde compilación, revisión, lanzamiento, hasta cualquier algoritmo personalizado (como en algunos productos MS)
major.minor [.maintenance [.build]]
release.major.minor.revision sería mi suposición.
Pero puede variar mucho entre productos.