it-swarm.dev

Wohin gehen Sie, um gute Beispiele für Quellcode zu lesen?

Ich habe einige Leute sagen hören, dass eine der besten Möglichkeiten, Ihre Codierungsfähigkeit zu verbessern, darin besteht, anderen Code zu lesen und zu verstehen. Meine Frage, als relativ neuer Programmierer, wo finde ich gute Quellcodebeispiele, die nicht zu weit über meinem Kopf liegen?

53
Jesse McCulloch

Sie können Open Source-Projekte auf Repository-Sites wie GitHub , Codeplex , Google Code oder BitBucket durchsuchen. Sie werden Projekte mit unterschiedlichen Komplexitätsstufen finden, daher sollten Sie in der Lage sein, etwas zu finden, das Sie beide interessiert und zunächst nicht zu sehr über Ihren Kopf geht.

Eine weitere Option sind Scott Hanselmans Weekly Source Code Blog-Beiträge.

Ich empfehle, mit einem etablierten, aktiven Projekt zu beginnen, um die Wahrscheinlichkeit zu verringern, dass Code gelesen wird, der noch nicht verwendet und überprüft wurde. Finden Sie im Idealfall etwas, das Sie interessiert und das Sie verwenden können. Die Verwendung der App hilft Ihnen, den Quellcode zu verstehen. Ein weiterer Vorteil der Auswahl eines Open Source-Projekts besteht darin, dass Sie möglicherweise einige Korrekturen oder Funktionen hinzufügen können, die das Lesen des Codes interessanter machen.

Es kann einschüchternd sein, auf einen Haufen Code eines anderen zu starren. Beginnen Sie also mit der Funktion main (oder einer gleichwertigen Funktion) und arbeiten Sie sich von dort aus durch.

30
Adam Lear

Sehr wenige Leute schreiben beim ersten Versuch guten Quellcode. Guter Quellcode wird oft durch eine Reihe von Überarbeitungen erzeugt. Wenn Sie also Quellcode finden, der mehrfach von Experten überprüft und mehrfach behoben wurde, befinden Sie sich wahrscheinlich an einem besseren Ort. Einige Open-Source-Projekte (und einige Teile davon) sind besonders gut bewertet. Code von Unternehmen mit obligatorischen Überprüfungszyklen (z. B. Google, aber es gibt viele andere) passt möglicherweise in die Rechnung.

Davon abgesehen bin ich mir nicht sicher, ob Ihr Ziel darin bestehen sollte, "großartigen Code" zu finden. Es sollte sein, verschiedene Codestile zu betrachten (wie die, die von Ihren Mitarbeitern geschrieben wurden) und zu lernen, die guten und schlechten Punkte zu identifizieren. Je mehr schlechte Punkte Sie identifizieren, desto mehr werden Sie sich bemühen, Ihren Code zu verbessern und zu wissen, wie.

Insbesondere glaube ich, dass ein sehr guter Ansatz, um ein Gefühl für guten Code zu bekommen, darin besteht, den interaktiven Debugger zu verwenden, um komplexen Code nach den Ketten von Aufrufen zu verfolgen. Gehen Sie beispielsweise zu einer der Hauptdateien Ihres Unternehmens, setzen Sie einen Haltepunkt und beginnen Sie, die Dinge daraus herauszufinden.

Nach ein paar Mal, wenn Sie durch 100-Zeilen-Funktionen mit zehn Einrückungsstufen und Abhängigkeiten von Globals desorientiert sind und ein paar Mal durch gut zerlegten Code blasen, verbessern Sie Ihre eigene Programmierung.

10
Uri

Anstatt großartige Codes zu finden, schauen Sie in die allgemeinen Programmierbücher.

z.B. Code vollständig, Schreiben von festem Code, Entwurfsmuster (Ich bin sicher, dass es auf dieser Website viele andere Bücher in einer anderen Frage und Antwort gibt)

Diese Bücher beschreiben die Philosophie, die als guter Code angesehen wird. Lesbarkeit, Leistung, Wartbarkeit, Fehlererkennung usw.

Das dient einer noch besseren Ressource und ist effizienter als der Versuch herauszufinden, was der Autor erreichen will.

P.s. Gutes Software-Design ist auch das, worauf Sie achten sollten. Was nur schwer an der Beobachtung von Codes zu erkennen ist, da das Projekt groß genug ist.

4
Zekta Chan

Ich fand, dass der Code der Bibliotheken, die mit der Programmiersprache Ihrer Wahl geliefert werden, oft ein guter Anfang ist, um zu sehen, was als Best Practices und guter Codierungsstil angesehen wird.

Sie möchten jedoch nicht mit Orten wie Sortieralgorithmen oder komplexen Containerklassen beginnen.

Ein weiterer Ort für interessante Einblicke in das Schreiben von Code ist Project Euler ( http://projecteuler.net/ ). Ein kleiner Nachteil: Sie müssen das Problem zuerst lösen, um Zugang zum Forum zu erhalten, in dem andere ihre Lösungen veröffentlicht haben (interessante Herausforderungen für alle Erfahrungsstufen). Sobald Sie fertig sind, finden Sie Beispiele für fast alle wichtigen Programmiersprachen. Und da Sie das Problem bereits gelöst haben, hilft es Ihnen, den Code anderer Leute zu verstehen. Außerdem können Sie den Code von Sprachen sehen, die Sie noch nicht kennen, aber möglicherweise interessant finden.

3

Ich habe es wirklich genossen zu lesen Beautiful Code . Es enthält kurze, aber sehr schöne Codebeispiele mit detaillierten Erklärungen.

... führende Informatiker bieten Fallstudien an, die zeigen, wie sie ungewöhnliche, sorgfältig gestaltete Lösungen für hochkarätige Projekte gefunden haben. Sie können großen Codierungs- und Designexperten über die Schulter schauen, um Probleme mit ihren Augen zu erkennen.

... Die Autoren denken laut nach, während sie die Architektur ihres Projekts durcharbeiten, die Kompromisse bei der Konstruktion und wann es wichtig war, Regeln zu brechen.

Dieses Buch enthält 33 Kapitel, die von Brian Kernighan, Karl Nebel, Jon Bentley, Tim Bray, Elliotte Rusty Harold, Michael Federn, Alberto Savoia, Charles Petzold, Douglas Crockford, Henry S. Warren, Jr., Ashish Gulhati, Lincoln Stein und Jim Kent beigesteuert wurden Jack Dongarra und PiotrLuszczek, Adam Kolawa, Greg Kroah-Hartman, Diomidis Spinellis, Andrew Kuchling, Travis E. Oliphant, Ronald Mak, Rogerio Atem de Carvalho und Rafael Monnerat, Bryan Cantrill, Jeff Dean und Sanjay Ghemawat, Simon Peyton Jones, Kent Dybvig, William Otte und Douglas C. Schmidt, Andrew Patzer, Andreas Zeller, Yukihiro Matsumoto, Arun Mehta, TV Raman, Laura Wingerd und Christopher Seiwald und Brian Hayes ...

3
pyvi