È brutto partecipare a progetti open-source come un dilettante?

17

Ho pensato per circa sei mesi che dovrei iscrivermi a un progetto iPhone o iPad open source per affinare le mie capacità in Objective-C, ma ogni volta che vado a farlo vedo migliaia di righe di codice su enormi progetti che finisco per convincermi di non capire mai. Penso sempre che i miei commit finirebbero per essere una seccatura per amministratori di progetto e collaboratori più anziani, quindi torno sempre all'ultimo secondo.

La mia domanda è essenzialmente, è una seccatura quando un programmatore con esperienza intermedia si unisce a un progetto open-source?

    
posta esqew 24.10.2011 - 22:05
fonte

3 risposte

15

No, non lo è.

Se la base di codice dei progetti che guardi è troppo scoraggiante, prendi in considerazione:

  • Scegliere un (anche) progetto più piccolo con cui lavorare.
  • Scegli un'attività più piccola all'interno del progetto:
    • Scrivi un esempio / tutorial / demo per qualcosa
    • Aggiorna e correggi la documentazione (tutti i progetti, OS o no, servono documenti migliori)
    • Correzione di molti bug a bassa priorità ma facili da correggere (ottima esposizione al codice, gli sviluppatori sono solitamente felici, a basso rischio)
  • Ci sono modi per contribuire senza impegnare l'accesso alla fonte principale, come ad esempio:
    • Invio di patch, che possono essere commentate.
    • Bifare e inviare richieste pull (vedi sopra)
    • Forcella e lavora da solo, solo per vedere dove ti porta. Se sei felice, chiedi agli sviluppatori di dare un'occhiata a qualsiasi cosa tu abbia fatto per vedere se ha senso.

Per superare la tua "paura" di non accettare i tuoi impegni, vai all'inizio per punti sicuri. Ciò consentirà a te e al team di sviluppo di acquisire fiducia nella tua relazione e di imparare il modo di pensare reciproco. Man mano che migliori (sia in termini di abilità, esperienza, qualità del codice e comprensione del team del tuo progetto OS che delle sue dinamiche) sarai in grado di affrontare un compito più grande introducendo meno problemi.

Aiuta anche a chiedere i punti di partenza adatti, e vedere cosa potrebbe trovare adatto il team per te.

Ad esempio, ho contribuito un po 'a Buildbot nel corso degli anni. Ho iniziato a correggere alcuni piccoli problemi, poi ho superato la qualità dei passaggi del codice Mercurial risolvendo alcuni bug evidenti. Infine, ho riscritto la maggior parte delle pagine Web e ho sostituito il codice HTML in una soluzione di generazione HTML basata su modelli. Quest'ultimo è stato di poche centinaia di commit in pochi mesi di duro lavoro.

Ho anche fatto un po 'di lavoro Mercurial, ma quei ragazzi sono più schizzinosi e la tecnologia è più complicata, quindi non ho ancora ottenuto alcuna correzione nel nucleo. Ho fatto alcune segnalazioni di bug e ho scritto alcune piccole estensioni, ma al momento non ho ottenuto niente di più grande.

Spero che aiuti.

    
risposta data 24.10.2011 - 22:27
fonte
4

Salta in avanti. Controlla le liste di sviluppo per un po 'e presentati quando ti senti a tuo agio. Molti progetti hanno alcuni lavori più semplici nella risoluzione dei bug o nella documentazione che i clienti abituali saranno felici di indicarti. La maggior parte dei progetti sono abbastanza amichevoli con le nuove mani, e ti aggiorneranno abbastanza velocemente in modo che tu possa diventare una vera risorsa per il Progetto.

Dopo un po 'conoscerai la struttura e le parti più importanti della base di codice. Imparare a capire il codice come questo è una parte molto importante della programmazione e l'open source è un ottimo modo per impararlo.

    
risposta data 24.10.2011 - 22:25
fonte
2

Vai per questo. Ci sono un sacco di principianti che fanno lo stesso. Il lead del progetto può aiutarti a trovare cose su cui lavorare che non siano fuori dalla tua portata. Cresci gradualmente nel resto.

Oh, e solo perché non capisci il codice non significa che sia buono . Ho visto del codice davvero orribile là fuori. Alcuni sono difficili da capire perché sono scritti male e sono fatti per essere molto più complessi di quanto dovrebbero essere.

    
risposta data 28.11.2011 - 22:00
fonte

Leggi altre domande sui tag