Welches ist am besten geeignet, um zu lernen, wie man eine bestimmte Sache macht: eigene schreiben oder die anderer anschauen? [geschlossen]


8

Wenn ich Code schreibe, um eine bestimmte Sache zu tun, muss ich oft entweder meinen eigenen schreiben oder den Code eines anderen verwenden. Nehmen wir hier an, dass dieses "Ding" etwas ist, was ich noch nie zuvor gemacht habe und daran interessiert bin zu lernen, wie es gemacht wird.

Was Sie sagen würden, ist aus Lernsicht besser: Versuchen Sie, Ihre eigene Lösung zu schreiben; oder Code von jemand anderem betrachten? Ich habe immer meinen eigenen Code geschrieben, wenn ich eine Idee dazu habe, aber ich habe mich angeschaut, wenn ich keine Ahnung habe. Ich glaube, dass das Beste wahrscheinlich eine Kombination aus beidem ist: Machen Sie Ihren eigenen Versuch und schauen Sie sich dann an, wie es jemand anderes getan hat.

Antworten:


11

Versuchen Sie zuerst, Ihre eigenen zu schreiben. Dann schauen Sie sich die Lösung eines anderen an.


+1: Jeder Entwickler sollte wissen, dass es viel schwieriger ist, wenn die Antworten nicht "am Ende des Buches" stehen.
Steven Evers

1
Bitten Sie auch um Vorschläge, sobald Sie eine Startidee haben und nachdem Sie Ihre erste Version fertig geschrieben haben.
Rwong

Wenn Sie es zuerst selbst tun, wird Ihnen klar, 1) was Sie brauchen und 2) wonach Sie suchen sollten. Wir sind sehr vorsichtig, wenn es darum geht, Fremdcode einzulassen, da dieser normalerweise etwas anderes tut, als Sie benötigen, aber ich liebe die Google Guava-Bibliothek einfach .

7

Wenn ich wirklich lernen möchte, wie man X macht und jemand ein Sample online hat, beschleunigt das Durchgehen des Samples wirklich, wie schnell ich es selbst schreiben kann. Wenn Sie den Code durchgehen, erhalten Sie einen möglichen Ausgangspunkt, an dem der Code enden kann. Möglicherweise habe ich meinen eigenen Code, der dem Beispiel nicht nahe kommt, aber das Beispiel hat mich zu dieser Entscheidung gebracht.

Wenn es sich bei dem Beispiel um Goldcode handelt, kann ich es in meine Arbeit integrieren, aber 9 von 10 Mal ist das Beispiel nicht ganz das, wonach ich gesucht habe. In diesen Fällen verwende ich das, was ich mit dem Beispiel gelernt habe, und baue mein eigenes.


1
+1 für das erste Hacken einer Probe ... eine funktionierende Probe von etwas zu haben, von dem ich keinen Bezugspunkt habe, ist weitaus besser als zu versuchen, die IDEE zu erhalten und gleichzeitig alle kleinen Fallstricke herauszufinden
Bill

1
@ Bill - genau mein Punkt!
Walter

1
Ich versuche immer, so zu beginnen, obwohl ich das Beispiel immer wegwerfe, bevor ich fertig bin. Ich finde fast nie Beispiele mit der richtigen Flexibilität, aber wenn ich sehe, dass sie hartcodiert funktionieren, oder wenn ich eine überentwickelte Version reduziere, komme ich immer noch schneller auf die Idee, als wenn ich meistens versuche, aus den Handbüchern dorthin zu gelangen.
Bill

0

Hängt von der Größe der erforderlichen Lösung und dem Community-Feedback zu einer vorhandenen Lösung ab.

Am Beispiel von Web Dev kann ich ein Forum schreiben, würde mich aber nicht darum kümmern, sondern nur eine angesehene, bekannte Lösung verwenden, fast alles, was kleiner ist, schreibe ich selbst.


0

Etwas eng verwandtes, das ich heute gerade realisiert habe ...

Dinge, die ich lerne, indem ich mein eigenes Programm für eine echte Lösung für etwas schreibe , bleiben viel mehr bei mir als nur Beispiele / Tutorials / Übungen, nur um zu lernen.

Das Durchlaufen eines Tutorials oder einer Probe von etwas Neuem ist als grundlegende Lernübung gut, aber wenn ich mich dann davon entferne und es drei Wochen später anwenden muss (ohne diese Technologie seitdem überhaupt zu betrachten), werde ich es tendenziell tun Um Dinge zu googeln, noch einmal zu besuchen, nachzuschlagen usw., viel mehr, als wenn ich ein echtes Programm darin gemacht hätte. Nur wenn ich in einer bestimmten Programmiersprache oder -technologie tatsächlich etwas von Grund auf für mich selbst erstelle, bleibt es wirklich hängen und ich verinnerliche das Wissen.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.