Ich habe einige Leute sagen hören, dass einer der besten Wege, um Ihre Codierungsfähigkeiten zu verbessern, darin besteht, anderen Code zu lesen und ihn zu verstehen. Meine Frage als relativ neuer Programmierer: Wo finde ich gute Quellcodebeispiele, die nicht zu weit über meinem Kopf liegen?
learning
source-code
Jesse McCulloch
quelle
quelle
Antworten:
Sie können auf Repository - Sites wie Open - Source - Projekte durchsuchen GitHub , Codeplex , Google Code oder BitBucket . Sie werden Projekte mit unterschiedlichen Komplexitätsstufen finden, sodass Sie in der Lage sein sollten, etwas zu finden, das Sie beide interessiert und anfangs nicht allzu sehr über den Kopf geht.
Eine weitere Option sind Scott Hanselmans wöchentliche Source Code- Blog-Beiträge.
Ich empfehle, mit einem etablierten, aktiven Projekt zu beginnen, um die Wahrscheinlichkeit zu verringern, Code zu lesen, der noch nicht benutzt und überprüft wurde. Suchen Sie im Idealfall etwas, das Sie interessiert und das Sie verwenden können. Mithilfe der App können Sie den Quellcode besser verstehen. Ein weiterer Vorteil der Auswahl eines Open-Source-Projekts besteht darin, dass Sie möglicherweise einige Korrekturen oder Funktionen beitragen können, die das Lesen des Codes interessanter machen.
Es kann einschüchternd sein, einen Haufen Code von jemand anderem anzustarren. Beginnen Sie also mit der
main
Funktion (oder einer entsprechenden Funktion) und arbeiten Sie sich von dort aus durch.quelle
Sehr wenige Leute schreiben guten Quellcode bei ihrem ersten Versuch. Guter Quellcode wird häufig durch eine Reihe von Überarbeitungen erzeugt. Wenn Sie also Quellcode finden, der mehrfach von Experten überprüft und mehrfach korrigiert wurde, befinden Sie sich wahrscheinlich an einem besseren Ort. Einige Open Source-Projekte (und einige Teile davon) werden besonders gut rezensiert. Code von Unternehmen mit obligatorischen Überprüfungszyklen (z. B. Google, aber es gibt viele andere) ist möglicherweise genau das Richtige für Sie.
Abgesehen davon bin ich mir nicht sicher, ob es Ihr Ziel sein sollte, "tollen Code" zu finden. Sie sollten sich verschiedene Codestile ansehen (z. B. die von Ihren Mitarbeitern geschriebenen) und 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 anhand der Aufrufketten zu verfolgen. Gehen Sie zum Beispiel zu einer der Hauptdateien Ihres Unternehmens, setzen Sie einen Haltepunkt und fangen Sie an, Dinge daraus herauszufinden.
Nachdem Sie einige Male durch 100-Zeilen-Funktionen mit zehn Ebenen von Einrückungen und Abhängigkeiten von Globalen desorientiert sind und ein paar Mal durch gut zerlegten Code gebrodelt haben, verbessern Sie Ihre eigene Programmierung.
quelle
Lesen Sie Allgemeine Programmierbücher, anstatt großartige Codes zu finden.
zB Code vervollständigen, soliden Code schreiben, Entwurfsmuster (ich bin sicher, dass es viele andere Bücher in einer anderen Frage und Antwort auf dieser Seite gibt)
Diese Bücher beschreiben die Philosophie, die man als guten Code ansieht. Lesbarkeit, Leistung, Wartbarkeit, Fehlererkennung usw.
Welches dient eine noch bessere Ressourcen und effizienter als der Versuch, herauszufinden, was der Autor zu erreichen versucht.
PS Gutes Softwaredesign ist das, worauf Sie achten sollten. Was allein anhand der Einhaltung von Codes schwer zu erkennen wäre, da das Projekt groß genug ist.
quelle
Ich fand heraus, 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/ ). Kleiner Nachteil dort: Sie müssen das Problem zuerst lösen, um Zugang zum Forum zu erhalten, in dem andere ihre Lösungen gepostet haben (interessante Herausforderungen für alle Erfahrungsstufen). Aber sobald Sie fertig sind, finden Sie Beispiele für fast alle wichtigen Programmiersprachen. Und da Sie das Problem bereits gelöst haben, wird es Ihnen helfen, den Code anderer Leute zu verstehen. Außerdem können Sie den Code von Sprachen anzeigen, die Sie noch nicht kennen, aber vielleicht interessant finden.
quelle
Ich habe es wirklich genossen, Beautiful Code zu lesen . Es enthält kurze, aber sehr schöne Codebeispiele mit detaillierten Erklärungen.
quelle