2010-09-16 11 views
70

Normalmente comienzo mis proyectos con una versión 1.0.0. Tan pronto como tenga algunas cosas juntas, lo libero como 1.0.0 y sigo adelante con 1.1.0.¿Qué usar como versión inicial?

Sin embargo, esto lleva a utilizar, pero no exactamente, la versión completa 1.0.0 de la mayoría de las cosas que escribo. Luego agrego funciones y obtengo una versión decente en algún lugar alrededor de 1.6.0. Muchos proyectos comienzan con la versión 0.1.0, que será tan útil como mi 1.0.0.

¿Qué sugieres que hagas? Comience con 1.0.0 o 0.1.0?

El último número es para versiones de corrección de errores solo por el camino. Puedes pensar que mi 1.0.0 como 1.0 y 0.1.0 como 0.1 es más fácil para ti.

+1

Acabo de enterarme de las "versiones semánticas" (http://semver.org/), eso es más o menos lo que quiero hacer. Sin embargo, no estoy creando API y está hablando de API, por lo que el consejo 1.0.0 no se aplica realmente. – Noarth

+0

Similar a: http://stackoverflow.com/questions/1795920/how-do-other-development-teams-approach-version-numbers/1795940#1795940 –

+0

posible duplicado de [Si una primera versión fuera una versión 0.1 o 1.0 b?] (http://stackoverflow.com/questions/7139/should-a-first-release-be-an-0-1-version-or-1-0b) –

Respuesta

-8

Mi control de versiones depende de la configuración. Quiero que reemplace versiones anteriores, así que sigo aumentando en saltos que tienen sentido para mí.

A veces, sin embargo, el control de versiones está dirigido por el cliente, especialmente si está liberando el código al público.

Si es su decisión, haga lo que sea mejor para usted. He tenido algunos problemas con las versiones anteriores a la 1.0 así que empiezo con eso.

+1

Creo que Lo haré de manera similar, así: comience con 1.0.0 para aplicaciones y con 0.1.0 para bibliotecas. Creo que 0.1.0 suena como una versión preliminar para una aplicación, y creo que es ridículo por cuánto tiempo los proyectos de fuente abierta bastante estables y ampliamente utilizados están por debajo de 1.0 por años. Podría hacerlo de manera diferente cuando trabaje con otros: tendré algún tipo de plan de funciones y mostraré varios prelanzamientos a mis compañeros de trabajo, por lo que comenzar con 0.1 tendría sentido. Pero el lanzamiento público sería> = 1.0.0. – Noarth

-4

comienza con 0.0.0 y continúa desde allí.

+3

¿Eso significa que realmente harías un 0.0 .0 lanzamiento? Estoy empezando con el primer número que voy a lanzar. – Noarth

1

Cuando obtengo mi primera aplicación utilizable pero no la versión completa, normalmente trato de juzgar qué tan avanzado está hacia una función de versión completa, por ejemplo, si mi primer uso es 33% completo, hago el número de versión 0.3.0 o similar. Luego, a medida que avanzo hacia la función completa, las versiones correspondientes reciben números proporcionados de manera similar.

Pero una vez que usted se mueve en función pasada completa de versiones tiene que cambiar

+3

Eso de alguna manera implica que solo puedes llegar a 0.9.0, pero conozco muchos proyectos que tienen una duración de 0.25.0. – Noarth

+0

Tiendo a usar el último conjunto de dígitos para pequeños cambios incrementales así como correcciones de errores, y mantengo el conjunto medio de dígitos para cambios bastante importantes, así que nunca tengo la necesidad de ingresar dos dígitos para los números medios – Tristan

-9

de inicio con 1.1.1 y pasar de allí.

1

Creo que aquí entran en juego diferentes factores. El impacto psicológico/de marketing del número de versión (el número de versión aumentó a menudo => más $$$, las personas no quieren comprar una versión beta de 0,99, etc.) deben tenerse en cuenta. Los números de versión "lógica" pueden ayudar cuando se trabaja en un gran equipo.

Y me gusta la forma de Linux de tener números impares para las versiones inestables, e incluso números para el estable.

0

El número de versión es totalmente de usted. Haga lo que tiene sentido para y sea coherente. Nadie dice que debe comenzar desde 0, o 0.0, o 1.0, o 1.1.

Los grandes programadores han utilizado el sistema de numeración de versiones como bromas locales. Ejemplos (Wikipedia):

Desde la versión 3, TeX ha utilizado una versión idiosincrásica de numeración sistema, donde actualizaciones se han indicado por la adición de un dígito adicional en el final de la decimal, por lo que la versión número asintóticamente enfoques π. Esto es un reflejo de , el hecho de que TeX ahora es muy estable, y solo actualizaciones menores son anticipadas. La versión actual de TeX es 3.1415926; Fue actualizado de marzo de 2008 pasado en

Para METAFONT:

Metafont tiene un sistema de control de versiones similar a la de TeX, donde el número se acerca asintóticamente e con cada revisión.

Por último, no es un número de versión, pero igualmente interesante, es que la oferta pública inicial de Google (IPO) fue presentado a la SEC para elevar $ 2718281.828 mil (nótese que el e ~ 2,718 281 828).

Mi punto es: no sientes que debes seguir a la multitud. Se creativo y consistente.

-1

Por lo general, la versión tiene cierto significado para el programador. Aumentar el número principal podría indicar grandes cambios que impiden la compatibilidad con versiones anteriores. Otros números en el número de versión pueden indicar mejoras de funciones más pequeñas o correcciones de errores.

Si le preocupa que la versión 0.6.5 tenga un timbre incompleto, es posible que desee comercializarla en la versión 1.0. Su número de versión de comercialización no necesita coincidir con su número de versión interna. El número de versión de Windows 7, por ejemplo, es 6.1.

Mi preferencia personal es comenzar desde 0.1.0 e ir desde allí.

-1

Depende del proyecto. Para las herramientas simples de línea de comandos, generalmente empiezo alrededor de 0.9 [.0] ya que solo considero liberarlas o empacarlas cuando estén casi terminadas (o listas para la prueba beta, de todos modos). Los proyectos más complicados comienzan alrededor de 0.1 [.0] y algunos nunca ven 1.0. Considero 1.0 una versión de lanzamiento (o al menos una versión beta probada localmente o candidato de lanzamiento) y plan en consecuencia.

Con proyectos de equipo, quien pone la primera etiqueta de la versión decide :).

-2

Los números de versión deben significar para usted como Arrieta correctamente comentado antes. Quizás siguiendo algo como: First # is Mayor Release, Second # es el mismo lanzamiento mayor con algunas características añadidas y Third # es el mismo lanzamiento mayor, con las mismas características pero con errores solucionados o poco agregado) cambios

1.3.2 => 1st Release, con más características y algunos errores corregidos.

Sin embargo, para los usuarios finales, algunos están acostumbrados a los números grandes para las versiones finales. Por ejemplo: Corel 8, para 8.0.0, 8.0.1, 8.2.2, etc. Corel 9, para 9.0.0 ... etc.

Y sobre todo se trata más de estrategias de marketing como: Corel X5 en lugar de Corel 15.0.2, por ejemplo.

Yo diría que depende de si el número de versión es para usted o para el cliente.

103

El estándar Semantic Versioning 2.0.0 dice:

Lo más sencillo que hacer es empezar su versión de desarrollo inicial en 0.1.0 y luego incrementar la versión de menor importancia para cada versión posterior.

Está bien pasar de 0.3.0 a 1.0.0. También está perfectamente bien estar en 0.23.0. Comenzar en 0.4.0 es algo desaconsejable, ya que sugiere que ha habido versiones publicadas anteriormente.

Además, tenga en cuenta que 0.y.z se mantiene a un lado para una iteración rápida, por lo que el desarrollo inicial (y por lo tanto muchos cambios de rotura) no lo deja en algo tonto como 142.6.0. En lugar de golpear la versión principal, baje la versión menor en cada cambio de ruptura hasta que libere 1.0.0:

Versión principal cero (0.y.z) es para el desarrollo inicial. Cualquier cosa puede cambiar en cualquier momento. La API pública no se debe considerar estable.

0

la hora de elegir los números de versión de un paquete npm, tenga en cuenta que no va a funcionar semver ranges continuación v1.0.0. Es decir,

"dependencies": { 
    "my-package": "^0.5" 
} 

es equivalente a

"dependencies": { 
    "my-package": "0.5" 
} 

Si desea poder utilizar semver rangos, o si desea permitir que otras personas los utilizan, es posible que desee comenzar con 1.0.0

Cuestiones relacionadas