2009-05-04 24 views
15

Ich lerne C++ als erste Sprache. Ich fühle mich, als würde ich eine Obergrenze für mein Lernen erreichen (ich lerne nicht durch eine Klasse), wenn ich nicht bald auf den tatsächlichen Code schaue. Hier sind meine zwei Hauptfragen:Wo kann ich guten C++ Quellcode finden?

  1. Wo kann ich Quellcode finden
  2. Was ein guter Lackmustest Qualität auf Code ist (ich habe natürlich nie in einer Arbeitsumgebung entwickelt)

I Ich hoffe, dies ist relevant für SO, aber ich sehe die Notwendigkeit, dies zu schließen. Danke für die Hilfe.


Verwandte:

Examples of "modern C++" in action?

Antwort

12

Mit Google Code University können Sie Programmthemen und Ressourcen von vielen der weltweit führenden Informatikschulen durchsuchen.

Google Code University

+5

Der Link ist tot. – Carlton

1

Das Netz ist voll von Open-Source-C++ Code. Warum nicht ein paar solcher Projekte auswählen und, noch besser, anfangen, ihnen zu helfen? Keine bessere Art zu lernen, als zu tun!

+0

Haben Sie spezielle Empfehlungen? Ich versuche auch, C++ zu lernen. Und während ich im Internet leicht eine Vielzahl von Open-Source-Projekten finden kann, ist es schwer für mich zu sagen, welche Beispiele für "guten" Code sind. Mein Instinkt sagt mir etwas wie Firefox oder OO.org sollte guten Code haben, aber könnte es kleinere Open-Source-Projekte geben, die eher für einen Anfänger geeignet sind? – Calvin

4

Ich denke, Ihre zwei besten Wetten für die Suche nach C++ - Code sind, zu den Popuplar Open Source-Repositories zu gehen.

Diese haben alle hohe Qualität C++ Projekte, die Sie einen Blick auf nehmen. Ich glaube nicht, dass es ein großartiges Maß für die Beurteilung von Qualität in großem Maßstab gibt. Ich würde mit den populäreren Projekten beginnen, die wahrscheinlich einen besseren Qualitätscode haben.

0

Ich würde empfehlen, ein gutes Buch zu bekommen, das voll von Quellcode Beispielen gepackt sein wird!

C++ in a Nutshell

Sie können auch Open-Source-Code suchen bei www.koders.com

+0

Ich habe die Bücher, aber es gibt ein Problem mit Büchern - sie lehren dich, spezifische Probleme zu lösen - nicht, wie man Probleme löst. – jkeys

6

würde ich Boost empfehlen. Mit Boost wird das Programmdesign vereinfacht. Reading Boost-Quellcode kann Ihnen zeigen, wie Sie mit C++ einige herausfordernde Probleme auf präzise Weise lösen können.

Diese Add-On-Bibliothek ist selbst in C++ geschrieben, in einer Peer-Review-Art und hat einen hohen Qualitätsstandard.

+5

Die Verwendung von Boost ist großartig, aber ich würde nicht empfehlen, Boost-Quellcode für einen C++ - Schüler zu lesen. Es stützt sich zu sehr auf fortgeschrittene Techniken wie Template-Metaprogrammierung und wird (mit Notwendigkeit) mit verschiedenen Kompilier-Workarounds zu überladen. –

+7

Lächerlichen Vorschlag. –

+0

@ infact, sorgfältig zu erarbeiten? Ich fand Josh Kelleys Kommentar sehr konstruktiv. Was möchtest du hinzufügen? –

-1

C++ ist eine großartige Sprache, aber irgendwie schwer als erste Sprache. Versuchen Sie python.

1) Wo kann ich Quellcode

Lesecode ist schwieriger, als es zu schreiben.Dies gilt insbesondere für große, komplexe Sprachen wie C++. Ohne die Feinheiten der Sprache bereits zu kennen, haben Sie keine große Chance, Wissen aus dem komplexen Code zu gewinnen, den andere in der Produktion schreiben. Du wirst zuerst die kleinsten Teile lernen müssen, indem du sie schreibst. Wenn Sie C++ lernen, lernen Sie auch das Programmieren.

2) Was ist ein guter Lackmustest auf Code-Qualitäts

es nicht ein. Das wird auch nicht leicht zu lernen sein. Es kommt aus Erfahrung. Aber wirklich, die Art, wie Sie den guten Code von den schlechten kennen, ist, dass, nachdem Sie etwas Zeit gehabt haben, sich mit dem Layout eines Projekts vertraut zu machen, Sie verstehen können, was ein bestimmtes Stück tut, nachdem Sie es betrachten. Lesbarer Code hat Qualität, während verwirrender Code nicht ausreicht.

Mit Blick auf andere Völker Code ist ein harter Weg, um die Grundlagen zu lernen. Finden Sie eine tutorial im Internet und bekommen Sie Ihre Füße auf diese Weise. Ich bin mir sicher, dass es auch viele, schöne printed books zum Thema gibt.

Wie Sie gehen, und stecken bleiben oder verwirrt oder verloren, post Fragen here.

+1

Ich habe bereits mehrere Programme und Algorithmen geschrieben..Ich finde es nicht überwältigend, es braucht nur mehr Zeit. Außerdem kann ich nicht aufgefordert werden, eine andere Sprache zu lernen, bis ich dieses besser verstanden habe. – jkeys

+0

Dies ist keine Antwort auf die Frage. Ich habe im Moment das gleiche Dilemma, in dem ich professionellen (oder semiprofessionellen) Quellcode betrachten muss, um zu lernen, wie man coole Sachen macht. Ohne das zu tun, könnte ich herausfinden, was bestimmte Features bewirken, aber ich weiß vielleicht nicht, wie ich alles zusammenstellen soll, um ein gut ausgearbeitetes Projekt zu erstellen. Ich würde gerne mehr über C++ erfahren. Ich weiß genug davon, dass es fast Zeitverschwendung wäre, zurück zu gehen und wieder mit einer anderen Sprache zu beginnen, wenn es noch weniger Dokumentation, Tutorials, Referenzen usw. gibt. –

0

Ich denke, Sie haben bereits einige gute Antworten erhalten, ich möchte diese Vorschläge für die Auswahl eines Projekts aus einem der Open-Source-Projekt-Repositories hinzufügen: Wählen Sie ein weit verbreitetes, aber vorzugsweise kleineres Projekt, das schon eine Weile existiert eine Domain, an der Sie besonders interessiert sind. Auf diese Weise können Sie sich einen besseren Überblick über produktionsbereiten Code verschaffen und etwas über diese Domain erfahren.

0

fand ich den Quellcode und die Dokumentation von POCO sind gut lesbar, und

  1. im Gegensatz zu einigen anderen Open-Source-Projekte, die für den Umgang mit einem bestimmten Problem zu konzentrieren, sagen GUI oder Protokollierung, diese Bibliothek konzentriert sich auf die Entwicklung von eine vollständige Anwendung, die einen recht breiten Bereich abdeckt (Dateisystem, Textverarbeitung, Vernetzung, Protokollierung usw.).
  2. verwendet es moderne C++ - Idiome. Wenn Sie die Implementierung lesen, können Sie auch moderne C++ - Kenntnisse erlernen.
0

Ich würde empfehlen, OpenSG Es ist ein interessantes Thema, es Gleichzeitigkeit Modellierung verwendet, Vernetzung, enthält Links zu wissenschaftlichen Arbeiten, gut dokumentiert ist, nutzt Echt C++ nicht c mit Objekten Sachen und fast alle subparadigms und nicht Übernutzung ihnen ist leicht zugänglich und wer hätte das gedacht ... ich bin ein Fan von ihm;)

OpenSG - Home

Verwandte Themen