Archiv verlassen und diese Seite im Standarddesign anzeigen : Open Source Projekte in C oder C++ mit vorbildlichem Code?
Hi,
bitte nennt mir Open Source Projekte in C oder C++ die eurer Meinung nach (sehr) gut programmiert sind, also in Bezug auf Code Qualität.
KDE ist ziemlich gut strukturiertes C++ soweit ich das gesehen hab.
Was man sich nicht antun sollte ist Mozilla, oder den Quake-Sourcecode ;)
Thomas(:
2007-04-07, 17:38:53
Zu kde/k*/qt-Anwendungen: Ich kann diese Qt-Quellcodes nicht ausstehen, find das einfach nicht „clean“ in C++ umgesetzt.
Zu kde/k*/qt-Anwendungen: Ich kann diese Qt-Quellcodes nicht ausstehen, find das einfach nicht „clean“ in C++ umgesetzt.
Qt ist ja genau genommen auch kein echtes C++.
Zu kde/k*/qt-Anwendungen: Ich kann diese Qt-Quellcodes nicht ausstehen, find das einfach nicht „clean“ in C++ umgesetzt.
Das ist deutlich "cleaner" als wenn du das mit einem manuellen MVC-Pattern erledigen würdest statt signals/slots. Aber du hast recht, das ist kein reines C++, deshalb ist die Empfehlung wohl wirklich doch nicht so gut.
Ach so: Boost ist vielleicht auch nen Blick wert, aber eher für den erfahreneren Programmierer ;)
Sonst fällt mir grad gar kein so großes Projekt ein dass in C++ geschrieben wäre.
http://hydranode.com (C++)
Zitat aus dem Blog:
My greatest regret with Hydranode is that I didn't create a messy codebase; if I did that, there'd be a full-sized team behind the project already; but as it stands now, there's very little hope someone will pick up this project's maintainance, since developers knowing sufficient amount of C++/STL/Boost are hard to come by in OSS community, as it turns out. Personally, I know about 2-3 developers who'd have sufficient skillset to continue this project at these quality levels, and all of them are busy with other things.
Lesson learned - well-written codebase will cause most coders to run away in fear, rather than join in. However, I would never call Hydranode a waste of time; it's a great CV/Resume entry for me (I've gotten multiple job offers over the world already, from people who've seen Hydranode codebase), I've mastered advanced C++ (I knew very little C++ when I started this project), and I learned quite a lot about user interface design, usability testing and so on - all very valuable. I wrote Hydranode because I wanted to learn; towards that end, Hydranode has been a major success. But Hydranode failed as OSS project; next time I start some OSS project (doubtful it'll happen though), I'll create a messy codebase using basic C++ (no template metaprogramming, design patterns or any other of that "advanced crap"), and I'm willing to bet large sums of money that developers come running to join in.
http://hydranode.com (C++)
Zitat aus dem Blog:
Ich hab mir den Code jetzt nicht angesehen, aber "template metaprogramming, design patterns or any other of that "advanced crap"" gibt es doch in einer ganzen Menge OSS Projekte.
Schau dir mal Python an, soll vorbildlicher C Code sein.
Echt? In welchem?
RSSOwl und QT z.B.
Qt benützt zwar Templates, aber kein Metaprogramming und die STL benützt es auch nur wenn man es will, sonst hat es seine eigenen Container, etc.
RSSOwl kenn ich nicht.
Marscel
2007-04-08, 18:11:41
Das Thema kommt mir gerade recht: Gibt es irgendwo einen richtig guten Leitfaden, was die Entwicklung in C++ angeht?
Syntax, Funktionen und Fähigkeiten lernt man ja in fast jedem Buch, aber wenn ich nun konkret ein sauberes Programm schreiben möchte, das nicht gerade aus 100 Zeilen besteht, wie baut man möglichst "sauber"? Logging, Threads, Ausnahmen, Pflegeleichtigkeit, Verteilung von Aufgabe und Funktionen in Form von Objekten, Internationalisierung, GUI Anbindung...
Anhand eines konkreten Beispiel wäre so etwas nicht schlecht (Hydranode sieht gut aus, aber da ist die Doku auf jedes Dokument verteilt, soweit ich sehe), wenn es damit anfängt, wie man ein Programm plant, umso besser.
Das kann auch ein Buch sein, auch Englisch.
HellHorse
2007-04-08, 20:06:34
RSSOwl kenn ich nicht.
Kein Wunder, ist auch Java. Ich weiss nicht, ob sie's mittlerweile geschafft haben auf MVC umzusteigen.
vBulletin®, Copyright ©2000-2024, Jelsoft Enterprises Ltd.