Estamos utilizando algunas bibliotecas de código abierto en nuestros proyectos. A veces hay algunos problemas encontrados en algunos de ellos (muy probablemente errores de biblioteca, pero también puede ser un uso incorrecto de nuestra parte, especialmente cuando a veces la documentación no está exactamente al 100% completa). Como las bibliotecas a menudo son bastante complejas, a veces es bastante difícil depurarlas para identificar la fuente del problema. ¿Me pueden ayudar a resumir qué otras opciones hay y cómo proceder exactamente con ellas?
Recientemente he tenido algunos problemas extraños al usar TCMalloc (asignador de memoria escalable de Google) en Windows, por lo que agradecería las respuestas que se aplicarían a esta biblioteca en particular, pero las respuestas más generales también son buenas.
1) Solicite ayuda al responsable / propietario del proyecto. ¿Cómo se puede hacer esto?
2) Contratar a alguien para identificar y solucionar el problema. ¿Como hacer esto? ¿Cómo puedo encontrar a alguien con suficiente experiencia en alguna biblioteca en particular?
... alguna otra opción?
Respuestas:
Normalmente intento lo siguiente, en orden:
1) Verifique la lista de correo o los foros para ver si mi error es nuevo, si ya está en el rastreador o si está arreglado en una versión más nueva / SVN / lo que sea
2) Si no se conoce el error, pregúntelo en la lista de correo. Esto es cuando te dicen que es una característica, no un error, y / o RTFM;)
3) Si el error es realmente un error y es nuevo, puede esperar hasta que alguien lo solucione (puede ayudar proporcionando información adicional, pruebas o depuración) o corregirlo usted mismo y enviar un parche
Si necesita corregir el error con urgencia, su mejor opción es realizar los pasos 2 y 3 juntos (informar el error y proponer un parche). De lo contrario, su error puede o no repararse de manera oportuna, dependiendo de si alguien más considera que vale la pena corregirlo. Supongo que puedes "sobornar" a los desarrolladores u otros miembros de la comunidad para que trabajen en tu error, aunque nunca lo intenté.
fuente
¡Lo mejor de OSS es que tienes el código fuente!
Para que pueda solucionarlo usted mismo o contratar a alguien para que lo haga.
¡Lo importante es devolver a la comunidad y verificar su solución!
fuente
La forma más sensata que he encontrado, cuando tienes un problema con una biblioteca y no tienes las habilidades para encontrar el problema tú mismo, es contactar a los encargados del mantenimiento. Conocen el código y estarán agradecidos de averiguar acerca de los errores, si eso es lo que es, o le indicarán cómo usar la biblioteca correctamente.
Por ejemplo, tuve un problema que no pude resolver cuando estaba desarrollando un sitio que usaba SVG Web . No tengo ninguna habilidad de secuencias de comandos de acción, así que comencé un hilo preguntando sobre el problema y me dijeron que registrara un error con un caso de prueba mínimo, así que lo hice. Resultó que el problema estaba en el navegador, así que tuve que modificar un poco mi código.
Si eres lo suficientemente inteligente como para arreglarlo tú mismo, no olvides devolver lo que aprendiste.
fuente
Si tiene una buena idea de cómo reproducir el error, escribir una prueba unitaria que exponga el error sería un buen punto de partida. (A menudo, los proyectos de código abierto ya tienen grandes conjuntos de pruebas).
La prueba de la unidad que falla es una buena manera de comunicar el "error" al responsable del proyecto. Si no se trata de un error, sino simplemente de usted, que lo está utilizando incorrectamente, entonces el responsable de mantenimiento señalará que esto es así por diseño y, por lo general, con un motivo.
fuente
Escriba un caso de prueba limpio, luego envíelo a la lista de correo.
En la mayoría de los casos, IME encuentra un error en su propio código al escribir el caso de prueba.
fuente
Solo porque aún no se ha mencionado, lea " Cómo hacer preguntas de manera inteligente ". Tiene muchos consejos invaluables sobre cómo abordar preguntas y pedir ayuda a una comunidad de desarrollo. Mucho de esto se reduce a: comprender la forma en que funciona la comunidad y asegurarse de cumplir con las reglas. Si eres respetuoso, haz una pregunta inteligente al proporcionar todos los detalles necesarios (y la receta de reproducción si es un posible error), es probable que obtengas una respuesta razonable.
fuente