¿Debo liberar el código fuente para corregir el error


15

Tengo un error en mi aplicación que estoy construyendo. Hice una pregunta sobre SO y uno de los usuarios me pidió que publicara o le enviara todo el código para que pudiera verlo.

Entiendo totalmente la solicitud. Es válido y comprensible. Sin embargo, tengo dudas sobre si debería hacerlo. Obviamente, le doy las llaves del reino y no tendré ningún recurso si él / ella haría algo malicioso.

También quiero agregar que me refiero a la falta de respeto al usuario en SO que ofreció su ayuda. Solo estoy expresando una preocupación.

Quiero arreglar mi error, pero no hay garantía de que esta persona pueda solucionarlo.

¿Debo publicar todo el código fuente y esperar lo mejor? ¿O guardarlo y tratar de resolverlo por mi cuenta?

¿Qué harías?


3
Pregunta difícil. Bien preguntado
yfeldblum

Respuestas:


44

Cree un SSCCE (ejemplo corto, autónomo y correcto). Si el error desaparece cuando elimina algunos de los detalles adicionales para el SSCCE, entonces lo encontró.

De lo contrario, tendrá un SSCCE que entregue o publique que idealmente elimina el código que le preocupa compartir.


1
Para aquellos que no están familiarizados con "SSCCE": acronymfinder.com/SSCCE.html (ignore la primera definición de "Carcinoma de células escamosas superficial del esófago"). Ajá, encontré el mejor enlace: sscce.org
FrustratedWithFormsDesigner

¿Qué es un SSCCE? EDITAR: solo pégalo en tu respuesta. :)
jprete

77
Construir la reproducción más pequeña posible es excelente por muchas razones, no solo no está regalando su código sino que también puede encontrar el error en el proceso de desarrollar un ejemplo.
Steve

3
Y el SSCCE funciona como una prueba de regresión, asegurándose de que nunca vuelvas a tener ese error. Además, a menudo puede crear una regla para una herramienta de análisis estático a partir de SSCCE, asegurándose de que no solo obtenga ese error nunca más, sino que nunca vuelva a tener un error similar .
Jörg W Mittag

9

No lo haría, especialmente si está trabajando para otra persona, que probablemente no apreciaría que le entregara el código fuente de sus competidores potenciales.

Pero incluso si es su propio código, se pierde el punto de desbordamiento de pila, que es tener un índice de preguntas y respuestas para que todos puedan leer y usar. Por lo tanto, publica lo suficiente como para hacer su pregunta, las personas responden la pregunta tal como se publicó, y los futuros lectores tienen una pregunta y una respuesta bien encapsuladas frente a ellos.

Si no puede publicar lo suficiente como para entender el error, entonces debe intentar reproducir el error en un código tan pequeño como sea posible, y publicarlo. ( EDITAR: El concepto de ejemplo compilado autónomo breve mencionado por jzd.) No publique grandes cantidades de código fuente, y no simplemente entregue grandes cantidades de su aplicación a extraños en Internet.


2

Si es un código que planea lanzar como parte de un proyecto de código abierto, entonces no me preocuparía demasiado. De lo contrario, si se trata de un código en el que trabaja en su lugar de trabajo y contiene ideas patentadas que pertenecen a otra persona, no lo divulgue a nadie. Podría meterte en muchos problemas.

¡Usa tu mejor juicio!


1

Si es el código de su proyecto personal y no es comercial, no tiene problemas para proporcionar su fuente siempre que mantenga una copia (mejor en algunos sistemas de control de versión de código fuente).


0

Ser discreto

Es inocente Desea publicar un código y contar con la ayuda de la comunidad SO. El problema es que la gente siempre está mirando.

Me escribieron para publicar un guión. Sucede.

Publicar en casa o en una cafetería. Publica discretamente. Debería poder tomar algunas notas y traerlas sin meterse en problemas.

Nota: Estoy un poco enojado por lo ingenuo que era. ¡Se inteligente!


Creo que la palabra que estás buscando es "discreta", ¡tal vez has pasado demasiado tiempo programando! :)
Sedate Alien
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.