it-swarm.it

Dove vai a leggere buoni esempi di codice sorgente?

Ho sentito alcune persone dire che uno dei modi migliori per migliorare la tua capacità di codifica è leggere il codice degli altri e comprenderlo. La mia domanda, come programmatore relativamente nuovo, dove posso trovare buoni esempi di codice sorgente che non sono troppo lontani dalla mia testa?

53
Jesse McCulloch

Puoi sfogliare progetti open source su siti di repository come GitHub , Codeplex , Codice Google o BitBucket . Troverai progetti con diversi livelli di complessità, quindi dovresti essere in grado di trovare qualcosa che ti interessi e che non ti interessi troppo all'inizio.

Un'altra opzione sono i post sul blog Weekly Source Code di Scott Hanselman.

Consiglio di iniziare con un progetto attivo e consolidato per ridurre le probabilità di iniziare a leggere il codice che non è ancora stato utilizzato e controllato. Idealmente, trova qualcosa che ti interessa e che puoi usare. L'uso dell'app ti aiuterà a capire il codice sorgente. Un altro vantaggio della scelta di un progetto open source è che potresti essere in grado di contribuire con alcune correzioni o funzionalità, che contribuiranno a rendere più interessante la lettura del codice.

Fissare un sacco di codice di qualcun altro può essere intimidatorio, quindi inizia con la funzione main (o equivalente) e prosegui da lì.

30
Adam Lear

Pochissime persone scrivono un buon codice sorgente al primo tentativo. Un buon codice sorgente è spesso prodotto da una serie di revisioni. Pertanto, se riesci a trovare il codice sorgente che è stato sottoposto a peer review più volte e corretto più volte, probabilmente ti trovi in ​​una posizione migliore. Alcuni progetti open source (e alcune parti di questi) sono particolarmente ben rivisti. Il codice proveniente da aziende con cicli di revisione obbligatori (ad es. Google, ma ce ne sono molti altri) potrebbe adattarsi al conto.

Detto questo, non sono sicuro che il tuo obiettivo dovrebbe essere quello di trovare un "ottimo codice". Dovrebbe essere guardare diversi stili di codice (come quelli scritti dai tuoi colleghi) e imparare a identificare i punti positivi e negativi al riguardo. Più punti negativi identifichi, più ti impegnerai per migliorare il tuo codice e sapere come fare.

In particolare, credo che un ottimo approccio per ottenere un senso di buon codice sia quello di utilizzare il debugger interattivo per rintracciare codice complesso, seguendo le catene delle invocazioni. Ad esempio, vai su uno dei file principali della tua azienda, metti un punto di interruzione e inizia a capirne le cose.

Dopo alcune volte sei disorientato da funzioni a 100 righe con dieci livelli di rientri e dipendenze su globali e alcune volte che riesci a superare un codice ben decomposto, migliorerai la tua programmazione.

10
Uri

Invece di trovare grandi codici, consulta i libri di programmazione generale.

per esempio. Codice completo, scrittura di codice solido, modelli di progettazione (sono sicuro che ci sono molti altri libri in giro in un'altra domanda e risposta in questo sito)

Quei libri descrivono la filosofia che è considerata un buon codice. Leggibilità, prestazioni, manutenibilità, rilevamento di errori ecc.

Che serve una risorsa ancora migliore e più efficiente del cercare di capire cosa l'autore sta cercando di ottenere.

Post scriptum Una buona progettazione del software è ciò che dovresti esaminare. Il che sarebbe difficile da riconoscere solo osservando i codici, dato che il progetto è abbastanza grande.

4
Zekta Chan

Ho scoperto che il codice delle librerie fornito con il linguaggio di programmazione scelto è spesso un buon inizio per vedere quelle che si ritiene siano le migliori pratiche e il buon stile di programmazione.

Anche se non vuoi iniziare con posti come algoritmi di ordinamento o classi di container complesse.

Un altro posto per approfondimenti interessanti nella scrittura del codice è Project Euler ( http://projecteuler.net/ ). Lieve svantaggio lì: devi prima risolvere il problema per ottenere l'accesso al forum in cui altri hanno pubblicato le loro soluzioni (sfide interessanti per tutti i livelli di esperienza). Ma una volta fatto troverai esempi per quasi tutti i principali linguaggi di programmazione. E poiché hai già risolto il problema, ti aiuterà a capire il codice di altre persone. Inoltre potrai vedere il codice di lingue che non conosci ancora, ma che potresti trovare interessante.

3
thorsten müller

Mi è davvero piaciuto leggere Beautiful Code . Ha esempi di codice brevi ma molto piacevoli con spiegazioni dettagliate.

... importanti informatici offrono casi di studio che rivelano come hanno trovato soluzioni insolite e attentamente progettate per progetti di alto profilo. Sarai in grado di guardare oltre le spalle dei principali esperti di progettazione e codifica per vedere i problemi attraverso i loro occhi.

... Gli autori pensano ad alta voce mentre lavorano attraverso l'architettura del loro progetto, i compromessi realizzati nella sua costruzione e quando era importante infrangere le regole.

Questo libro contiene 33 capitoli forniti da Brian Kernighan, KarlFogel, Jon Bentley, Tim Bray, Elliotte Rusty Harold, Michael Feathers, Alberto Savoia, Charles Petzold, Douglas Crockford, Henry S. Warren, Jr., Ashish Gulhati, Lincoln Stein, Jim Kent , Jack Dongarra e PiotrLuszczek, Adam Kolawa, Greg Kroah-Hartman, Diomidis Spinellis, AndrewKuchling, Travis E. Oliphant, Ronald Mak, Rogerio Atem de Carvalho e Rafael Monnerat, Bryan Cantrill, Jeff Dean e Sanjay Ghemawat, SimonPeyton Jones, Kent Dyb Otte e Douglas C. Schmidt, AndrewPatzer, Andreas Zeller, Yukihiro Matsumoto, Arun Mehta, TV Raman, Laura Wingerd e Christopher Seiwald e Brian Hayes ...

3
pyvi