Paura di rilasciare un progetto di hobby - come superare? [chiuso]


37

Non so se questa domanda sia strettamente correlata allo sviluppo del software, ma comunque ci proverò:

Come molti programmatori, amo lavorare su progetti di hobby. A volte, le idee apparentemente buone si rivelano non così buone, quindi abbandono il progetto. Ma a volte, qualcosa di utile viene fuori dal progetto. Quindi, potrei rilasciarlo, presentarlo al mondo, giusto?

Sbagliato. In qualche modo, non riesco a fare questo passo. Temo che il mio codice non sia abbastanza buono, posso sempre pensare a cose che non sono ottimali, a funzionalità che potrebbero essere aggiunte. Quindi, non rilascio nulla, perdo interesse e ad un certo punto abbandono il progetto.

È normale? Come superare una situazione del genere?


11
Bene, è abbastanza buono per te e "loro" lo ottengono gratuitamente, quindi perché dovrebbero lamentarsi?
Joachim Sauer,

42
"Temo che il mio codice non sia abbastanza buono" - se guardi indietro a quello che hai fatto ieri e ne sei soddisfatto, allora non stai migliorando.
Roger Lipscombe,

9
Se funziona e non è un casino completo di spaghetti, rilascialo. Nella mia esperienza, tutto il codice viene criticato, ci si abitua. Microsoft ha rilasciato un intero carico di codice per l'incorporazione in Linux. Mi sembra di ricordare che è stato rispedito per essere riordinato e ha finito con la metà delle linee. Guardo il mio codice ogni giorno e penso "Oh Dio. L'ho scritto? Doh!
Jaydee,

4
Non migliorerà mai senza che la gente ci colpisca. Fallo!
Scott C Wilson,

4
Desideri! Si dovrebbe considerare fortunato se qualcuno si accorge neppure di aver rilasciato un codice :)
Benjol

Risposte:


51

Prima di tutto, ricorda: la spedizione è una caratteristica . È meglio rilasciare qualcosa di imperfetto che non rilasciare nulla.

L'altra cosa da notare è che questi sono progetti Hobby. Se non rispetti le scadenze o perdi interesse non è un grosso problema. Dopo tutto, stai facendo il progetto per divertimento.


23

Mettilo là fuori.

Non è così difficile farlo con un sito di codifica sociale come GitHub o Bitbucket . La maggior parte delle cose di ciò che pubblicherai probabilmente non saranno usate molto, ma va bene. È abbastanza normale in questi siti di codifica sociale e molti progetti vengono abbandonati (anche alcuni utili). Ma la cosa più grande è che gli altri possono scegliere ciò che ti rimane (dato che hai una licenza permissiva).

Anche se le tue cose probabilmente non saranno utilizzate da nessun altro, ci sono molti vantaggi del perché dovresti comunque pubblicarle:

  • Si impara a utilizzare il controllo versione che è qualcosa che molti programmatori non sanno come, rendendoti più desiderabile
  • Le persone possono segnalare problemi per te; tutte le opportunità per imparare a fare le cose in modo diverso
  • Avrai un portfolio online di cose che hai fatto, grandiose da integrare al tuo curriculum

3
+1 per "Le persone potrebbero farti notare dei problemi" - questo è un enorme vantaggio che può derivare dall'offrire codice come open source.
Andrew Thompson,

14

Ottenere collaboratori in un progetto open source che è già privo di bug è probabilmente più difficile di quelli con molti bug facili da risolvere, poiché questi bug sono un incentivo per i primi utenti a familiarizzare con il codice.

Quando Linus introdusse per la prima volta il kernel Linux, non era un codice completo, stabile, privo di bug e pulito; era una tastiera finlandese incompleta, scadente, non portabile e cablata .


3
Adoro questa prospettiva.
TehShrike,

+1 per l'esempio di Linux.
Calmarius

6

Fondamentalmente, non mi preoccuperei se alla gente piacerà il mio codice o meno. Rilascialo con una licenza gratuita, se è utile per le persone, ma trovano bug, soluzioni non ottimali e richiedono più funzionalità, sono liberi di risolverli da soli. L'uso di GPL o LGPL ti consentirà anche di trovare queste correzioni e puoi applicarle tu stesso se le trovi utili / adatte.


5

Mi dispiace ma stai facendo esattamente il contrario di quello che dovresti fare!

Rilascialo il più presto possibile, ascolta il feedback delle persone e quindi implementa nuove funzionalità basate su quello. Non il contrario!


Questo è vero solo quando stai cercando di ottimizzare l'usabilità. L'OP sta chiaramente cercando di massimizzare il merito di strada o almeno minimizzare l'imbarazzo.
Caleb,

2
@Caleb: è sempre vero. L'obiettivo è sempre quello di spedire un prodotto e non è mai quello di scrivere codice!
Thomas Bonini,

Non dimenticare, il controllo della versione consente alle persone di vedere MIGLIORAMENTI nel codice. Vedere qualcuno che ha iniziato con un codice errato ma è stato in grado di modellarlo in un bell'esempio mostra a) Possono imparare, b) sono disposti a migliorare il vecchio codice invece di ignorarlo
Aren,

4

Cosa avete da perdere ?

Puoi anche consolarti nel sapere che probabilmente non verrà notato comunque, a meno che non sia davvero buono o riempia una nuova nicchia.

E, se ricevi un feedback negativo, è un'opportunità per imparare .. Non sprecarlo.


"Probabilmente non sarà notato comunque". Sfortunatamente, è vero.
user16764

3

Completamente normale, in qualsiasi dominio oltre al software. Assicurati che si compili in alcuni ambienti diversi, scrivi un file README e lancialo su github / codeplex / etc. Superarlo la prima volta è l'unico modo per superare l'ansia.

La seconda, la terza e l'ennesima volta sono il divertimento!


1

Ecco un motivo per rilasciare software incompiuto: iniziare a costruire una comunità. Se vuoi che il tuo progetto diventi un utile strumento open source, hai bisogno di altri sviluppatori. Un modo per attirarli è di rilasciarlo presto e quindi continuare a migliorare (pubblicamente). Non aggiungere queste funzionalità in segreto: eseguile pubblicamente, sulla pagina di Github o ovunque. Ciò genera attività nella storia.

Altri sviluppatori non vogliono lavorare su un progetto apparentemente abbandonato. Quindi svolgere il tuo lavoro di sviluppo in pubblico dimostra interesse attivo e costante. Vale la pena intenzionalmente di tenere alcune funzioni nella manica in modo da poterle aggiungere in pubblico.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.