Imparerò di più dal cambiare il codice di altre persone? [chiuso]

6

Attualmente sto cercando di superare lo stadio intermedio dei codificatori ad avanzato e inutile dire che è stato difficile.

Ho lavorato su diversi libri con codice di esempio. Ultimamente ho sentito che prendere il codice di esempio, modificarlo per adattarlo al mio progetto simile, romperlo e risolverlo, è più efficace per l'apprendimento che semplicemente ricodificare riga dopo riga del lavoro di esempio.

Qualcun altro ha opinioni simili o contrastanti? Questo metodo ripaga a lungo termine?

Pensieri su questo metodo di apprendimento?

Grazie!

    
posta HissingWsl 26.04.2013 - 03:24
fonte

5 risposte

11

Penso che tu abbia bisogno di un progetto adeguato: trova un problema da risolvere e risolvilo.

Fare qualcosa di reale (piuttosto che fare degli esempi di hacking) ti farà venire in mente ogni tipo di lezione: cose che ti sono state insegnate che sono buone, cose che non funzionano così bene.

La maggiore difficoltà in un progetto reale non è tanto la scrittura del codice, quanto il codice da scrivere. Cioè, come suddividere e strutturare lo spazio del problema. Ottenere quello sbagliato e il codice più bello del mondo è ancora una soluzione pessima.

    
risposta data 26.04.2013 - 03:43
fonte
5

Leggere sempre il codice di altre persone è un modo sicuro per migliorare le tue abilità nel progetto. Non ci sono dubbi.

Aiuta anche a essere il ragazzo più stupido del team - con questo intendo dire che se tutti gli altri programmatori del team sono molto più in alto in termini di abilità di programmazione, automaticamente aumenteranno il tuo livello - purché hai la maturità di accettare i tuoi limiti e chiedere aiuto. È importante anche sfruttare le capacità degli altri compagni di squadra.

Codice di lettura - a parte leggere il codice di altre persone e chiedere loro di spiegare il loro approccio, la programmazione di coppie è un altro buon strumento. Stare seduti con un collega e osservare il modo di affrontare un problema può far scoppiare le lampadine in te. Anche prendere l'abitudine di rivedere sempre il proprio codice - vecchio codice di volta in volta. Ricordo molte volte quando ho visitato un centinaio di righe di codice che mi sono scritto 2 mesi fa e ho pensato che fosse merda e l'ho rifattorizzato molto meglio.

    
risposta data 26.04.2013 - 05:05
fonte
4

Penso che l'aspetto più importante dell'apprendimento sia il fallimento. Quando tenti di adattare il codice di esempio o di implementare qualcosa di nuovo e non funziona, devi capire perché non funziona.

Questo è quando il tuo cervello sarà messo al lavoro per tentare di risolvere il problema che hai incontrato. E quando finalmente hai quel 'aha!' momento, quello che hai imparato dall'iniziale errore ti rimarrà nella mente.

È questo processo fondamentale per diventare un programmatore migliore. I bravi programmatori sono bravi a capire come funzionano i sistemi, perché non fanno quello che dovrebbero e come risolverli. E l'unico modo per essere bravi è fare pratica quando si risolvono i problemi quando qualcosa non funziona.

Se non fai altro che copiare il codice da un libro ed eseguirlo, funzionerà sempre (non assumendo errori di battitura da solo o dal libro) e perderai l'esperienza vitale di capire da solo le cose.

    
risposta data 26.04.2013 - 05:34
fonte
2

Suppongo che entrambi siano utili, ma il tuo codice da solo sarà migliore. Il codice di altri ti aiuterà, imparerai alcune cose a cui non avresti pensato, ma in quella transizione, è come pensi che sia importante .

Sarebbe meglio se prendi qualche problema e risolvilo. Usa l'aiuto di altre persone quando ci sono problemi che non puoi andare in giro. In questo modo imparerai molto di più che manipolando il codice degli altri.

Quando fai tutto da capo, puoi capire ogni piccola cosa del codice. Inoltre, imparerai anche dai tuoi errori (tutti li fanno, e anche tu lo farai).

Quando si digita il codice, di solito non è ciò che si digita, ma come si pensa a cosa scrivere, l'analisi logica del problema (e l'inferenza / derivazione della soluzione) è ciò che conta.

    
risposta data 26.04.2013 - 11:51
fonte
1

La maggior parte del lavoro di programmazione viene svolto in un team e implica una base di codice che esiste già da un po 'di tempo e deve essere continuamente adattata per nuovi requisiti e funzionalità. Non lo imparerai mai dal libro di testo, devi provarlo.

Lavorare con il codice di altre persone è anche un ottimo modo per avere esperienza di come vari idiomi funzionano nella pratica. Normalmente non tenterai di risolvere il problema in tutti i modi possibili per vedere quale funziona meglio e in ogni caso non ti troverai in quel modo. Leggendo il codice esistente vedrai vari approcci per risolvere i problemi e scopri quali sono i vantaggi nella pratica, quindi puoi sceglierne facilmente uno quando devi progettare qualcosa da solo.

Ultimamente ci sono molti progetti open source là fuori, quindi dovrebbe essere facile sceglierne uno che sia interessante per te e contribuire ad esso. Puoi iniziare risolvendo bug o facendo qualche piccola funzione che ti viene in mente. Questo è attualmente il modo più semplice per ottenere esperienza con alcuni lavori di programmazione reali. Puoi anche ottenere una sovvenzione da Google .

    
risposta data 26.04.2013 - 11:29
fonte

Leggi altre domande sui tag