Lo studio dei programmi di altre persone aiuta nella crescita personale? [chiuso]

7

Dovrei essere studiare grandi software scritti da altre persone nella nostra azienda? Il mio lavoro potrebbe essere un piccolo sottomodulo nella parte superiore del software, e potrebbe non essere richiesto di sapere cosa va sotto il cofano,

ma

Comprendere il codice di altre persone aumenta le mie conoscenze sui metodi di programmazione o su qualsiasi altra cosa?

    
posta Aquarius_Girl 06.11.2012 - 10:35
fonte

3 risposte

14

In generale: impara dal contrasto

Penso che sia importante leggere sia il codice buono che quello cattivo.

Se leggi SOLO il crap code, probabilmente non imparerai molto da esso. Se leggi un misto di codice buono e cattivo, probabilmente ne imparerai di più. Il buon codice dovrebbe insegnarti nuove cose, il codice errato per mostrarti la mentalità generale del programmatore medio e le insidie da evitare, e per farti capire quanto sforzo si possa risparmiare con un buon codice.

Il contrasto è molto importante nell'aiutare.

Allo stesso modo, per un dominio diverso, Stephen King dice nelle sue memorie sulla scrittura che raccomanda di leggere i brutti romanzi. Non puoi apprezzare i bravi se non leggi quelli cattivi, e c'è un'ampiezza e una varietà di modi per avvicinarsi alla scrittura. Potresti essere sorpreso da ciò che trovi nei cattivi.

Detto questo, non passare la vita a leggere il codice che sembra essere stato scritto da un branco di scimmie o studenti annoiati senza alcun interesse nell'apprendimento della programmazione e chi è solo un elettivo CS (eccetto se questo è il tuo lavoro, allora è utile imparare i loro errori comuni e capire perché si verificano frequentemente).

È molto importante confrontare e confrontare. Ad esempio, prendi il codice sorgente per i 3 principali sistemi BSD: NetBSD, OpenBSD e FreeBSD. Sono molto simili, ma le loro implementazioni anche degli strumenti più semplici sono diverse ( ls , cat , ecc ...). E sicuramente ce n'è uno che preferirai all'altro (non ho controllato per circa 8 anni, e non volendo essere giudicante qui, voglio solo dare un'esperienza personale, ma al momento il codice OpenBSD mi ha colpito in gran parte più elegante rispetto agli altri, e il codice NetBSD per essere abbastanza istruttivo per imparare a usare le macro e le protezioni pre-proc).

Per codice in-house: impara dal contesto

Hai detto che si tratta di leggere il codice scritto all'interno della tua azienda. In questo caso, direi che è ancora più importante leggerne un po '. È molto interessante per te comprendere la mentalità della squadra guardando il codice, ma ti darà anche una comprensione più profonda di come funzionano i tuoi programmi.

Infine, c'è una componente molto storica ad esso. Non leggere solo la base di codice corrente. Dare il tuo client SCM preferito a portata di mano e in agguato attraverso la timeline del codice base. A volte è molto interessante vedere perché un codice diventa quello che è ora. Può essere passato tra le mani di una dozzina di diversi programmatori di età diverse, o si può anche vedere che un singolo programmatore potrebbe essere maturato nel tempo. Ti insegna anche su alcune "stranezze" e cattive cimici che potrebbero aver incontrato e sul perché hanno scelto un approccio piuttosto che un altro, anche se apparentemente meno elegante.

Ti offre un contesto.

    
risposta data 06.11.2012 - 10:54
fonte
3

Sì, sicuramente. Studiare e comprendere il codice di altri popoli è assolutamente essenziale per crescere come programmatore.

In senso generale, è sempre bene studiare e capire il codice di altri popoli, anche il codice che non fa parte del sistema su cui stai lavorando. Questo ti aiuterà a vedere cose che sono buone e cattive nel tuo sistema e ti spingeranno a pensare modi nuovi e migliori per migliorare il tuo codice.

Avere una conoscenza di base dell'intero sistema su cui stai lavorando - non solo i componenti di cui sei responsabile - è importante per sapere come puoi interagire con altre parti del sistema.

    
risposta data 06.11.2012 - 10:40
fonte
0

Bella domanda, ogni programmatore / sviluppatore può scrivere il codice a modo suo e con metodi appresi. Imparare / analizzare il codice di altri è uno dei motivi per diventare uno sviluppatore migliore. In altri codice

  1. qualcuno segue lo standard di codifica
  2. qualcuno segue il codice junk
  3. qualcuno segue i codici brevi come nel framework
  4. qualcuno segue tutto quanto sopra

Tipi di studenti:

  1. Ascolto degli studenti

  2. Visualizzazione degli studenti

  3. tocca / sperimenta gli studenti

risposta data 06.11.2012 - 16:50
fonte