Ein Teil des Wertes von Open Source besteht darin, den Menschen, die mit einer neuen Plattform oder Sprache beginnen, großartigen Beispielcode zur Verfügung zu stellen.
Was ist der beste Open Source-Code, den Sie kennengelernt haben, und warum gefällt Ihnen Ihre Wahl? Jede Sprache ist geeignet, aber ich bin besonders an den besten Beispielen für Objective-C interessiert, auf die Sie hinweisen können.
Offensichtlich ist dies eine offene Frage, also lasse ich die Frage eine Weile offen und sehe, welche Arten von Antworten wir bekommen.
Vielen Dank!
BEARBEITEN: Zum "Besten" dachte ich an Code, der den Redewendungen in der angegebenen Sprache oder Plattform folgt, sowie die Teile, die den Code "professionell" machen - gute Dokumentation, eine Testsuite usw. Code, der kurz und prägnant ist, aber Nicht übermäßig clever ist sehr knappem oder gesprächigem Code vorzuziehen.
Antworten:
Ich muss sagen, dass ich, nachdem ich mir über die Jahre Teile von Open Source Code angesehen habe, von so ziemlich allem sehr enttäuscht war.
Das Hauptproblem für mich ist, dass es normalerweise nur sehr wenige Kommentare gibt, häufig sind die einzigen Kommentare einige lange und legalistische Urheberrechtsvermerke.
Der Linux-Kernel ist ein Beispiel, in dem die Dateien häufig nicht einmal einen Kommentar enthalten, aus dem hervorgeht, welchem Zweck sie dienen (z. B. würde mir der Treiber für XYZ zumindest sagen, dass ich ungefähr am richtigen Ort bin).
Ich komme aus der kommerziellen und Verteidigungsprogrammierung, wo die Codierungsstandards vernünftige, verständliche Kommentare erfordern, um nicht nur zu sagen, was eine Codeeinheit tut, sondern es muss im gesamten Code Kommentare geben, die Algorithmen, Methoden, Besonderheiten, Hacks / clevere Dinge beschreiben Dies alles, damit jeder, der danach kommt, SCHNELL nachsehen und herausfinden kann, was gerade getan wird, anstatt sich mühsam durch den eigentlichen Code zu wühlen.
Vielleicht lautet die Moral: Sag mir, was du tust, bring mich nicht dazu, es herauszufinden.
Ich habe keinen Open Source Code gefunden, der dies gut kann. Was Open Source als Mittel zum Erlernen guter Codierungspraktiken anbelangt, lautet mein Ikterusrat: Nicht.
quelle
Ich habe sehr gute Dinge über die SQLite- Codebasis gehört.
Von dem kleinen, in das ich hineingeschaut hatte, sieht es sehr sauber aus.
quelle
Donald Knuth schrieb zwei Programme, mit denen er seine mathematischen Formeln in seine Bücher besser eingeben konnte als sein Verlag.
Diese beiden Programme (in ihrer endgültigen Version) wurden mit Literate Programming geschrieben, das das Erstellen einer gedruckten, gesetzten Version des Quellcodes ermöglichte, und sie wurden als Bücher veröffentlicht. Dies sind einfach die am besten dokumentierten Programme, die ich je gelesen habe!
Sie können nicht online gelesen werden, aber Amazon bietet Ihnen die Möglichkeit, das Metafont-Buch unter http://www.amazon.com/Computers-Typesetting-D-Metafont-Program/dp/0201134381/ zu lesen.
Achtung: Es handelt sich um schweres Zeug, weshalb jedes Buch 600 Seiten umfasst.
quelle
Das Buch Beautiful Code versucht, diese Frage mit einigen Beispielen zu beantworten, von denen die Autoren glauben, dass sie Beispiele für schönen Code aus Open-Source-Projekten sind.
quelle
CodeIgniter
Einige der saubersten und am besten dokumentierten Quellcodes, die ich in einem OS-Projekt gesehen habe.
quelle
Ich habe 2 Projekte gesehen, die sehr gut strukturiert sind:
Insbesondere die zweite ist aufgrund weniger Dinge sehr interessant:
Ich habe auch gehört, dass Postgre sauber geschrieben ist (im Gegensatz zu MySql), aber ich habe es selbst nicht gelesen.
quelle
Einige sagen, der C-Code für den Linux-Kernel sei verdammt gut.
(Nicht, dass ich die Sache verstehe! Es ist möglicherweise das beste Open-Source-C-Projekt, das es gibt.)
quelle
Ich habe festgestellt, dass der LLVM- Quellcode sehr gut lesbar ist. Ich bin mir ziemlich sicher, dass es das sauberste C ++ ist, das ich je gesehen habe. Wenn Sie nicht damit vertraut sind, handelt es sich im Grunde genommen um ein Compiler-Konstruktions-Toolkit.
Es ist jedoch ein ziemlich großes Projekt. Erwarten Sie also nicht, schnell zu verstehen, wie alles funktioniert. Aber es sollte ziemlich einfach sein, sich einen Überblick zu verschaffen.
quelle
Es ist kein großes Projekt, aber das SubSonic ORM war für mich extrem einfach zu hacken. Es war das erste echte Open Source-Projekt, das ich genau nach meinen Wünschen modifizieren konnte. Bei den meisten anderen schaute ich auf die Quelle und schlug meinen Kopf gegen eine Wand. Ich hatte es teilweise Unterstützung von PostgreSQL (basierend auf der SQL Server-Provider-Sache) innerhalb weniger Stunden. Es ist das am besten organisierte Projekt, das ich bisher gesehen habe. Allerdings habe ich mir viele Open-Source-Projekte angesehen.
quelle
Zunächst ein einfaches Beispiel: Der Code für das Event-Handling-System zope.event. Ich hatte andere Ereignissysteme verwendet, die Ereignisse an andere Ereignis-Listener weiterleiteten. Als ich den Code von zope.event sah, wurde mir langsam klar, wie einfach manche Dinge sein könnten.
Es ist in Python geschrieben, und hier ist der Code in seiner Gesamtheit:
So fügen Sie einen Abonnenten hinzu:
Das beste Beispiel für KISS, das ich gesehen habe.
Dann ein komplexeres Beispiel: Die Mars- Codebasis ist sehr schön und einfach zu lesen, obwohl sie einige clevere Python-Hacks verwendet. Gleiches gilt für den meisten Code von Grok, der mit Martian erstellt wurde.
quelle
Lesen Sie dieses Buch Die Architektur von Open Source-Anwendungen . Es sollte Ihnen eine Kritik darüber geben, warum und wie die Entwurfsentscheidungen in den Projekten getroffen wurden, die im Buch diskutiert werden.
Anstatt nach dem Besten zu suchen, das Ihnen lange entgeht, versuchen Sie, die Gestaltung einiger Projekte zu schätzen, die möglicherweise über den Rahmen des Buches hinausgehen. Das könnte Ihnen helfen, auf den Erfolgen dieser Projekte aufzubauen, anstatt ihre Fehler zu wiederholen (oder, wie im Volksmund genannt, das Rad neu zu erfinden).
quelle