Miedo a lanzar un proyecto de pasatiempo: ¿cómo superarlo? [cerrado]

37

No sé si esta pregunta está estrictamente relacionada con el desarrollo de software, pero aún así lo intentaré:

Al igual que muchos programadores, me encanta trabajar en proyectos de hobby. A veces, las ideas aparentemente buenas no son tan buenas, por lo que abandono el proyecto. Pero a veces, algo útil sale del proyecto. Entonces, podría lanzarlo, presentarlo al mundo, ¿verdad?

Incorrecto. De alguna manera, parece que no puedo dar este paso. Me temo que mi código no es lo suficientemente bueno, siempre puedo pensar en cosas que son subóptimas, en características que podrían agregarse. Por lo tanto, no publico nada, pierdo interés y, en un momento, abandono el proyecto.

¿Esto es normal? ¿Cómo superar una situación así?

Oliver Weiler
fuente
11
Bueno, es lo suficientemente bueno para ti y "ellos" lo obtienen gratis, entonces ¿por qué deberían quejarse?
Joachim Sauer
42
"Me temo que mi código no es lo suficientemente bueno": si miras hacia atrás a lo que hiciste ayer y estás contento con él, entonces no estás mejorando.
Roger Lipscombe
99
Si funciona y no es un completo desastre de espagueti, suéltalo. En mi experiencia, todo el código se critica, se acostumbra. Microsoft lanzó una carga completa de código para su incorporación a Linux. Me parece recordar que fue enviado de vuelta para ser arreglado y terminó con la mitad de las líneas. Miro mi código todos los días y pienso "Oh Dios. ¿Escribí eso? ¡Doh!"
Jaydee
44
Nunca mejorará sin que la gente lo golpee. ¡Ve a por ello!
Scott C Wilson
44
¡Tú deseas! Debería considerarse afortunado si alguien se da cuenta de que ha publicado algún código :)
Benjol

Respuestas:

51

En primer lugar, recuerde: el envío es una característica . Es mejor liberar algo imperfecto que no liberar nada en absoluto.

La otra cosa a tener en cuenta es que estos son proyectos de Hobby. Si no cumple con los plazos o pierde interés, no es gran cosa. Estás haciendo el proyecto por diversión después de todo.

Tom Squires
fuente
23

Ponlo ahí afuera.

No es tan difícil hacer esto con un sitio de codificación social como GitHub o Bitbucket . La mayoría de las cosas que sacarás probablemente no se usarán mucho, pero está bien. Eso es bastante normal en estos sitios de codificación social, y muchos proyectos se abandonan (incluso algunos útiles). Pero lo mejor es que otros pueden recoger lo que te queda (dado que tienes una licencia permisiva).

A pesar de que sus cosas probablemente no serán utilizadas por nadie más, hay varios beneficios de por qué aún debe publicarlas:

  • Aprende a usar el control de versiones, que es algo que muchos programadores no saben cómo hacerlo, lo que lo hace más deseable
  • Las personas pueden señalarle problemas; todas las oportunidades para que aprendas a hacer las cosas de manera diferente
  • Tendrás una cartera en línea de cosas que has hecho, genial para tener como complemento a tu currículum
Spoike
fuente
3
+1 para "La gente puede señalar problemas para usted" : ese es un gran beneficio de ofrecer código como código abierto.
Andrew Thompson,
14

Obtener contribuyentes en un proyecto de código abierto que ya está libre de errores es probablemente más difícil que aquellos con muchos errores fáciles de resolver, ya que estos errores son un incentivo para que los primeros usuarios se familiaricen con el código.

Cuando Linus introdujo por primera vez el kernel de Linux, no era un código completo, estable, libre de errores y limpio; Era un teclado finlandés incompleto, horrible, no portátil y cableado .

Lie Ryan
fuente
3
Amo esta perspectiva.
TehShrike
+1 para el ejemplo de Linux.
Calmarius
6

Básicamente, no me preocuparía si a la gente le gusta mi código o no. Libérelo bajo una licencia gratuita, si es útil para las personas, pero encuentran errores, soluciones subóptimas y requieren más funciones, son libres de arreglarlo ellos mismos. El uso de GPL o LGPL también le permitirá encontrar estas soluciones, y puede aplicarlas usted mismo si las encuentra útiles / adecuadas.

martiert
fuente
5

Lo siento, pero estás haciendo exactamente lo contrario de lo que deberías estar haciendo.

Libérelo lo antes posible, escuche los comentarios de las personas y luego implemente una nueva funcionalidad basada en eso. ¡No de la otra manera!

Thomas Bonini
fuente
Eso solo es cierto cuando intentas optimizar la usabilidad. El OP claramente está tratando de maximizar la credibilidad de la calle, o al menos minimizar la vergüenza.
Caleb
2
@Caleb: eso siempre es cierto. ¡El objetivo siempre es enviar un producto y nunca escribir código!
Thomas Bonini
No olvide que el control de versiones permite a las personas ver MEJORAS en el código. Al ver que alguien comenzó con un código incorrecto, pero pudo configurarlo en un buen ejemplo, muestra a) Pueden aprender, b) están dispuestos a mejorar el código antiguo en lugar de ignorarlo
Aren
4

Qué tienes que perder ?

También puede consolarse al saber que probablemente no se notará de todos modos, a menos que sea realmente bueno o llene un nuevo nicho.

Y, si recibe un comentario negativo, es una oportunidad de aprender ... No lo desperdicie.

Evgeni
fuente
"Probablemente no se notará de todos modos". Lamentablemente, muy cierto.
user16764
3

Completamente normal, en cualquier dominio más allá del software también. Asegúrese de que se construye en algunos entornos diferentes, escriba un archivo README y tírelo a github / codeplex / etc. Superar esto la primera vez es la única forma de superar la ansiedad.

¡Segundo, tercero y enésimo momento es donde reside la diversión!

Matt Stephenson
fuente
1

Aquí hay una razón para lanzar software inacabado: comenzar a construir una comunidad. Si desea que su proyecto se convierta en una herramienta útil de código abierto, necesita otros desarrolladores. Una forma de atraerlos es lanzarlo temprano, y luego continuar (públicamente) haciendo mejoras. No agregue esas características en secreto: hágalo públicamente, en la página de Github o donde sea. Eso genera actividad en la historia.

Otros desarrolladores no quieren trabajar en un proyecto aparentemente abandonado. Por lo tanto, realizar su trabajo de desarrollo en público demuestra un interés activo y continuo. Vale la pena mantener intencionalmente algunas características bajo la manga para que pueda agregarlas en público.

Steve Bennett
fuente