Pregunta

Cuando utiliza bibliotecas/componentes de terceros en proyectos de producción, ¿es riguroso al utilizar solo versiones publicadas de dichas bibliotecas?

¿Cuándo considera utilizar una versión preliminar o beta de una biblioteca (en desarrollo?en producción, bajo ciertas circunstancias)?

Si encuentra un error o una deficiencia en la biblioteca y ya está comprometido a usarla, ¿aplica un parche a la biblioteca o crea una solución alternativa en su código?

¿Fue útil?

Solución

Soy un gran admirador de no codificar algo cuando alguien más tiene una versión que yo no podría codificar en un período de tiempo razonable o que requeriría que me convirtiera en un experto en algo que no importaría a largo plazo.

Hay varios componentes y bibliotecas de código abierto que he utilizado en nuestro entorno de producción, como Quartz.NET, Log4Net, nLog, SharpFTPLibrary (muy modificado) y más.Quartz.NET estaba en versión beta cuando lancé por primera vez una aplicación usándolo en producción.Era una versión beta muy estable y tenía el código fuente para poder depurar un problema y había algunos.Cuando encontraba un error o un error, lo solucionaba y publicaba el problema en el rastreador de errores o en el autor.Me siento muy cómodo usando un producto beta si la fuente está disponible para depurar cualquier problema o si hay un gran número de desarrolladores que solucionan cualquier problema.

Otros consejos

He usado bibliotecas beta en proyectos comerciales antes, pero principalmente durante el desarrollo y cuando es probable que el proveedor lance una versión final antes de que yo termine el producto.

Por ejemplo, desarrollé una pequeña aplicación de escritorio usando Visual Studio 2005 Beta 2 porque sabía que la versión RTM estaría disponible antes del lanzamiento final de mi aplicación.También utilicé una versión beta del controlador FirebirdSQL ADO.NET durante el desarrollo de otro proyecto.

Para los errores, intento publicar informes completos de errores siempre que haya una manera de reproducirlos, pero la mayoría de las veces hay que encontrar una solución para lanzar la aplicación lo antes posible.

  • Sí.A menos que haya una característica que realmente necesitemos en una versión beta.
  • No tiene sentido usar una versión beta en desarrollo si no estás seguro de usarla en producción.Eso parece un ejercicio inútil.
  • Usaré el parche.¿Por qué escribir código para algo por lo que pagaste?

No tiene sentido usar una versión beta en desarrollo si no estás seguro de usarla en producción.Eso parece un ejercicio inútil.

Buen punto, también estaba considerando el escenario de evaluación de la versión preliminar en dev, pero supuse que eso contamina la ruta dev -> test/qa -> prod.

Usaré el parche.¿Por qué escribir código para algo por lo que pagaste?

¿Qué pasa si no es una biblioteca comercial, sino de código abierto?¿Qué pasa si el parche que se va a aplicar no proviene de la entidad liberadora (p. ej.tu propio parche)?

Yo suelo:

  • Infragistics (controles .NET WinForms)
  • LeadTools (captura de vídeo)
  • Xtreme ToolkitPro (controles MFC)
  • National Instruments Measurement Studio (bibliotecas computacionales, trazado y DAQ)

He encontrado errores importantes en cada uno de estos, por lo que trato de limitar su uso tanto como sea posible.Infragisitcs es bastante bueno para lo que es, y National Instruments es de lejos el mejor, aunque bastante limitado.Evitaría LeadTools a toda costa.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top