Laden...

Welchen Code lest ihr?

Erstellt von HannesB vor 13 Jahren Letzter Beitrag vor 13 Jahren 2.329 Views
HannesB Themenstarter:in
185 Beiträge seit 2005
vor 13 Jahren
Welchen Code lest ihr?

hallo,

oft wird geschrieben: man kann viel lernen, indem man Code aus anderen Open Source Projekten liest. Was mein ihr dazu?
Was, wenn das Projekt z.B. eine Java Portierung ist (nHibernate, nUnite, ...) und spezifische Funktionen von C# nicht nutzt - lernt man dann ev. Sachen, die man in der Praxis anders lösen kann + sollte?
Habt ihr schon mal durch fremden Code gesteppt und gedacht: das ist elegant implementiert, das mache ich nächstes mal auch so?
Habt ihr Empfehlungen für Projekte, aus welchen man etwas lernen kann?

fg
hannes

3.430 Beiträge seit 2007
vor 13 Jahren

Hallo,

das ist eine gute Frage.
Ich glaube nicht dass man das so verallgemeinern kann.
D.h. es gibt kein bestimmtes Projekt mit dem man alles lernen kann.
Das kommt einfach mit der Zeit wenn man im Forum aktiv ist und neue Dinge liest oder an einem Projekt mit anderen zusammenarbeitet oder einfach nur diskutiert.

Dabei lernt man immer wieder irgendwelche neue Herangehensweisen und sieht wie man manche Dinge auch sauberer lösen könnte.

Habt ihr schon mal durch fremden Code gesteppt und gedacht: das ist elegant implementiert, das mache ich nächstes mal auch so?

Naja. Wirklich durch fremden Code debugge ich nicht da ich meistens alles selbst mache 😃

Also meiner Meinung gibt es da kein wirkliches Rezept dazu 😃
Übung macht den Meister

Gruss
Michael

Gelöschter Account
vor 13 Jahren

mit open source code habe ich bislang nur negative erfahrungen gemacht. oft waren das nur hobby programmierer, die lange zeit frickelten und auf das gefrickelte noch mehr gefrickelt haben (zumindest in den projekten, die ich gesehen habe)

ich lese aber gerne code in forumsposts oder auf codeproject oder stackoverflow. da kann meist noch was lernen.

Habt ihr schon mal durch fremden Code gesteppt und gedacht: das ist elegant implementiert

sehr sehr selten.

Was, wenn das Projekt z.B. eine Java Portierung ist (nHibernate, nUnite, ...) und spezifische Funktionen von C# nicht nutzt - lernt man dann ev. Sachen, die man in der Praxis anders lösen kann + sollte?

davon würde ich dir abraten. zum lernen einer programmiersprache sollte man vorzeigecode betrachten, denn sonst läufst du gefahr, es auf die gleiche unelegante art und weise zu lösen, wie du es gelernt hast.

49.485 Beiträge seit 2005
vor 13 Jahren

Hallo HannesB,

du darfst natürlich nicht davon ausgehen, dass Code von anderen zwangsläufig besser ist als der eigene Code. Aber wenn der Code besser ist, als der den du selber geschrieben hättest, dann wird dir das schon auffallen. Wenn du es dann in Zukunft selber so machst, gibt es immer noch keine Gewähr, dass du die beste Lösung überhaupt einsetzt, aber es ist zumindest eine Verbesserung gegenüber deinem vorherigen Kenntnisstand eingetreten. In diesem Sinne kann man durchaus aus fremdem Code was lernen. Deshalb gucke ich mir aber noch lange nicht den Code von größeren Open Source Projekten an. Viel spannender ist, was man hier im Forum oder auch in Blogs oder Artikeln sieht.

herbivore

6.911 Beiträge seit 2009
vor 13 Jahren

Hallo HannesB,

Viel spannender ist, was man hier im Forum oder auch in Blogs oder Artikeln sieht.

Das kann ich nur unterstreichen.
V.a. da im Forum auf schlechten Code sofort hingewiesen wird und Vorschläge zur Verbesserung in Form einer Diskussion gemacht werden.

mfG Gü

Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.

"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"

1.044 Beiträge seit 2008
vor 13 Jahren

Hallo HannesB,

ich habe die Erfahrung gemacht, dass man manchmal nützlich sein kann, fremden Code zu lesen. Oft interessiere ich mich einfach, wie die anderen etwas realisiert haben oder wie es im allgemeinen programmiert worden ist. Selbst Code aus dem .NET Framework lese ich mal durch. Für mich bedeutet programmieren nicht, einfach Code zu tippen, sondern auch zu verstehen was hinter den Kulissen vor sich geht. Weiterbilden kann man sich damit allemals!

Zu beachten sind allerdings auch die Lizenzierungen. Nicht, dass man noch etwas tut, was man nicht darf.

zero_x

HannesB Themenstarter:in
185 Beiträge seit 2005
vor 13 Jahren

Danke für eure interessanten Beiträge,

ich stimmte auch zu fast allen Teilen mit eurer Meinung überein, möchte jedoch ergänzen: Ich finde es sehr gut, dass es Foren wie dieses gibt, wo man sich austauschen kann und von der Erfahrung anderer profitieren. Deshalb wohl der Leitsatz "gemeinsam mehr erreichen" 🙂

Natürlich ist es aber schon was andres, wenn man hier über Codeschnipsel diskutiert, oder die Architektur eines gesammten Projektes mit > 10000 Klassen betrachtet - da sind dann halt plötzlich Sachen wichtig, die in einem "Codeschnipsel" (um beim Wort zu bleiben) wohl nicht so wichtig sind.
Beispiel: Für ein Programm mit gesamt 200 Zeilen werde ich mir eher nicht überlegen, ob ich einen DI-Container einsetzen soll, für ein Enterprise Projekt ev. schon.

Ein Autor von "Inside sharp develop" hat mir mal zurückgeschrieben, dass das team viel gelernt hat, nachdem sie sich mit design patterns beschäftigt haben. Ich denke daher wiederum, dass man ev. viel lernen kann, wenn man sich den Source eines Projektes wie "sharp develop" anschaut.

fg
hannes

U
1.578 Beiträge seit 2009
vor 13 Jahren

Also ich les derzeit das "Clean Code" Buch von Dingsbums, und da ist sehr viel Code drin, ist in Java geschrieben.

M
368 Beiträge seit 2006
vor 13 Jahren

Angesichts des schnellen Wandels sollte man auch bei Programmiertechniken auf dem neusten Stand sein: IT-Republik, 10 Dinge über die sich Entwickler am meisten ärgern (Platz 1.)

Goalkicker.com // DNC Magazine for .NET Developers // .NET Blogs zum Folgen
Software is like cathedrals: first we build them, then we pray 😉

1.820 Beiträge seit 2005
vor 13 Jahren

Hallo!

Ist evtl. etwas offtopic, aber viel kann man auch lernen, wenn man mit 2-4 anderen im Team eine Software entwickelt. Hatte ich zweimal an der Uni als Projektarbeit, und dabei habe ich eine Menge gelernt, besonders, wenn man zu 2. oder 3. eine bestimmte Code-Passage gemeinsam entwickelt. Allerdings sollten alle schon etwas mehr Erfahrung im entwickeln haben.

Nobody is perfect. I'm sad, i'm not nobody 🙁

P
321 Beiträge seit 2008
vor 13 Jahren

Habt ihr schon mal durch fremden Code gesteppt und gedacht: das ist elegant implementiert, das mache ich nächstes mal auch so?

Ich hatte die letzten wochen ein projekt bei dem ich genau das gegenteil dachte.
Dadurch habe ich gelernt wie mans nicht macht 😉

Use the source, Luke!

Nur, weil man vor sich eine CPU hat, muß man das Denken nicht
einstellen.