Qual è il miglior codice sorgente C ++ da leggere per un principiante? [chiuso]

24

Sto cercando di migliorare la mia tecnica di codifica c ++ leggendo il codice sorgente c ++. Quale progetto open source consiglieresti? Il codice di Boost C ++ Libraries è buono?

    
posta snowfox 31.05.2012 - 17:27
fonte

8 risposte

26

Raccomando qualsiasi codice C ++ open source di Google, come il seguente:

Vantaggi dell'uso del codice Google:

  • È scritto secondo standard elevati ed è sottoposto a peer review (a differenza di qualche codice open source).
  • Ha una buona documentazione per gli sviluppatori (che semplifica la comprensione e la comprensione)
  • Utilizza alcune tecniche C ++ moderatamente avanzate (e quindi è utile per l'apprendimento).
  • Probabilmente è più facile da capire rispetto a Boost perché non si basa tanto sulla metaprogrammazione avanzata dei modelli e su preprocessor metaprogramming e non è appesantito tanto con innumerevoli compromessi di compatibilità del compilatore e casi particolari.

La Guida di stile di Google C ++ utilizzata dal codice C ++ di Google è generalmente buona, ma presenta alcuni aspetti piuttosto insoliti bit (come ad esempio alcune delle loro linee guida di denominazione o le loro eccezioni non consentite), quindi tieni presente che il loro codice C ++ sarà diverso sotto tutti gli aspetti da quello che vedrai sul campo.

    
risposta data 12.11.2012 - 20:58
fonte
9

Non consiglierei di leggere un codice base. Ti consigliamo di leggere Domande frequenti sul C ++ . C'è anche un libro eccellente che accompagna il sito. Il modo migliore per migliorare le tue capacità di codifica in C ++.

    
risposta data 31.05.2012 - 17:47
fonte
7

Suggerirei di leggere " Effective C ++ " di Scott Meyers e utilizzando i suggerimenti che ha in piccoli programmi giocattolo.

    
risposta data 08.06.2012 - 10:07
fonte
6

Leggere il codice C ++ pulito esistente è un ottimo modo per imparare la lingua.

Il codice nel OpenFST toolkit è molto pulito, per esempio. È leggibile e utilizza funzionalità leggermente avanzate senza andare fuori bordo.

Boost, d'altra parte, può essere un po 'difficile da leggere, in parte perché usano trucchi in C ++ che sono difficili da capire e perché spesso cospargono il codice con diversi stratagemmi per diverse versioni del compilatore.

    
risposta data 01.06.2012 - 06:03
fonte
2

Prova a leggere qualcosa che esiste da anni ed è di grandi dimensioni. Ci vorranno alcuni mesi per iniziare a capire il codice e iniziare a fare qualcosa al suo interno.

Firefox, Thunderbird, OpenOffice.org, LibreOffice vengono in mente. Ci dovrebbero essere molti altri simili. Questi progetti funzionano su molti sistemi operativi e piattaforme hardware. Inoltre, devono valutare la leggibilità. Questi potrebbero dovresti le tecniche che cerchi.

    
risposta data 08.06.2012 - 09:29
fonte
0

Ancor meglio che leggere il codice sarebbe lavorare con quel codice in forma di correggere bug e aggiungere piccoli miglioramenti qua e là. Scegli un programma, preferibilmente uno per il quale usi, iscriviti alla mailing list, inizia a esaminare il bug tracker e prova a diagnosticare alcuni bug. Chiedi alla mailing list se trovi la soluzione per qualcosa che sia ragionevole o in cui ti trovi bloccato. Questo ti darà degli obiettivi specifici durante la lettura del codice, ti costringerà a capire davvero ed è ciò che farai per la maggior parte del tempo in qualsiasi lavoro.

Puoi forse guardare qualche applicazione KDE. La maggior parte sono scritti in C ++ e puoi iniziare con alcuni più piccoli.

    
risposta data 08.06.2012 - 10:01
fonte
-3

Sì, il codice delle librerie Boost C ++ è una grande risorsa da cui imparare, se non uno dei migliori sul Pianeta. Tuttavia, per un principiante, l'apprendimento dal codice Boost può rendere la curva di apprendimento molto ripida. Se vuoi veramente provare a leggere Boost, inizia con alcune librerie piccole e semplici come Boost.Array .

    
risposta data 08.06.2012 - 11:20
fonte
-3

Prova a leggere il PDF C ++. È gratuito e ho imparato il C ++ da esso, anche se non avevo altre esperienze di programmazione, e ho solo 14 anni. Incredibile.

    
risposta data 12.11.2012 - 20:25
fonte

Leggi altre domande sui tag