2009-05-04 10 views
15

Sto imparando il C++ come prima lingua. Mi sento come se stessi per raggiungere un limite al mio apprendimento (non sto imparando attraverso una lezione) se non inizierò a guardare il codice reale al più presto. Qui sono le mie due domande principali:Dove posso trovare un buon codice sorgente C++?

  1. Dove posso trovare il codice sorgente
  2. cosa è una buona cartina di tornasole sulla qualità del codice (non ho ovviamente mai sviluppato in un ambiente di lavoro)

I spero che questo sia rilevante per SO, ma posso vedere la necessità di chiudere questo. Grazie per l'aiuto.


correlati:

Examples of "modern C++" in action?

risposta

12

Google Code University ti consente di cercare tra gli argomenti di programmazione e le risorse di molte delle scuole di informatica del mondo.

Google Code University

+5

Il link è morto. – Carlton

1

La rete è piena zeppa di codice C++ open-source. Perché non scegliere alcuni di questi progetti e, ancora meglio, iniziare ad aiutarli? Non c'è modo migliore di imparare che farlo!

+0

Avete raccomandazioni particolari? Sto anche cercando di imparare il C++. E mentre riesco facilmente a trovare una miriade di progetti open source sul web, è difficile per me dire quali sono esempi di codice "buono". Il mio istinto mi dice che qualcosa come Firefox o OO.org dovrebbero avere un buon codice, ma potrebbero esserci progetti open source più piccoli che sono più adatti a un principiante? – Calvin

4

Penso che le tue due migliori scommesse per trovare codice C++ siano quelle dei repository open source popuplar.

Questi tutti hanno progetti di alta qualità C++ è possibile dare un'occhiata a. Non penso che ci sia una grande metrica per giudicare la qualità su larga scala. Vorrei iniziare con i progetti più popolari che potrebbero avere più probabilità di avere un codice di qualità.

0

Suggerirei di ottenere un buon libro, che sarà ricco di esempi di codice sorgente!

C++ in a Nutshell

È anche possibile cercare il codice open source a www.koders.com

+0

Ho i libri, ma c'è un problema con i libri - ti insegnano a risolvere problemi specifici - non come risolvere i problemi. – jkeys

6

mi sento di raccomandare Boost. L'uso di Boost semplificherà la progettazione del tuo programma. Leggere il codice sorgente di Boost può mostrare come usare C++ per risolvere alcuni problemi complessi in modo conciso.

Questa libreria aggiuntiva è scritta in C++ in modo peer-reviewed e ha un elevato standard di qualità.

+5

L'uso di Boost è ottimo, ma non raccomanderei di leggere il codice sorgente di Boost su uno studente C++; si basa troppo su tecniche avanzate come la metaprogrammazione dei modelli e diventa troppo disordinato (per necessità) con vari metodi di compilazione del compilatore. –

+7

Suggerimento ridicolo. –

+0

@infact, cura di elaborare? Ho trovato il commento di Josh Kelley molto costruttivo. Cosa vorresti aggiungere ad esso? –

-1

C++ è un grande linguaggio, ma tipo di pesante come prima lingua. Prova python.

1) Dove posso trovare il codice sorgente

codice di lettura è più difficile di scriverlo.Questo è particolarmente vero per i linguaggi grandi e complessi come il C++. Senza conoscere già la complessità della lingua, non ci sono molte possibilità di ottenere conoscenza dal codice complesso che gli altri scrivono in produzione. Dovrai imparare prima le parti più piccole, da solo scrivendole. Mentre impari C++, imparerai anche la programmazione.

2) Che cosa è una buona cartina di tornasole sulla qualità del codice

Non c'è una sola. Neanche questa sarà una cosa facile da imparare. Viene dall'esperienza. Ma in realtà, il modo in cui conosci il buon codice dal cattivo, è che dopo aver avuto un po 'di tempo per familiarizzare con il layout di un progetto, puoi capire cosa fa un determinato pezzo, dopo averlo guardato. Il codice leggibile ha qualità, mentre il codice confuso è inferiore.

Guardare il codice di altri popoli è un modo difficile per imparare le basi. Trova uno tutorial sulla rete e tieni i piedi bagnati in quel modo. Sono sicuro che ci sono molti, bene printed books sull'argomento.

Come si va e rimanere bloccati o confusi o persi, inviare domande here.

+1

Ho già scritto diversi programmi e algoritmi. Non lo trovo opprimente, richiede solo più tempo. Inoltre, non mi si può chiedere di iniziare a imparare un'altra lingua finché non ho una migliore comprensione di questa. – jkeys

+0

Questa non è una risposta alla domanda. Ho lo stesso dilemma al momento, in cui ho bisogno di guardare il codice sorgente professionale (o semi-professionale) per imparare come fare le cose interessanti. Senza riuscirci, potrei capire cosa realizzano certe caratteristiche, ma potrei non sapere come mettere tutto insieme per costruire un progetto ben lucidato. Mi piacerebbe saperne di più su C++. Ne so abbastanza che sarebbe quasi una perdita di tempo tornare indietro e ricominciare tutto da capo con un linguaggio diverso quando c'è ancora meno documentazione, tutorial, riferimenti, ecc. –

0

Penso che tu abbia già delle buone risposte, vorrei aggiungere questo suggerimento per scegliere un progetto da uno dei repository di progetto open source: scegli un progetto ampiamente usato ma preferibilmente più piccolo che è stato in giro per un po 'e obiettivi un dominio a cui sei specificamente interessato. In questo modo sarai in grado di avere un'idea migliore del codice pronto per la produzione ed essere in grado di imparare qualcosa su quel dominio.

0

ho trovato il codice sorgente e la documentazione di POCO sono abbastanza leggibile, e

  1. a differenza di altri progetti open source che si concentrano sulla gestione uno specifico problema, dicono GUI o registrazione, questa libreria si concentra sullo sviluppo di un'applicazione completa, che copre un'area piuttosto ampia (file system, elaborazione del testo, collegamento in rete, registrazione ecc.).
  2. utilizza gli idiomi C++ moderni. Quindi leggendo l'implementazione puoi anche imparare le moderne abilità in C++.
0

Vorrei raccomandare OpenSG Si tratta di un argomento interessante, utilizza Modelli per la concorrenza, networking, include i collegamenti a pubblicazioni scientifiche, è ben documentato, usa vera C++ non c con oggetti roba e quasi tutti subparadigms e non si loro uso eccessivo, è facilmente accessibile e che avrebbe mai detto ... io sono un fan di esso;)

OpenSG - Home

0

Code Project è il posto migliore per il codice sorgente.

Problemi correlati