2009-02-19 5 views
6

Nehmen wir an, Sie müssen einige Funktionen implementieren, die nicht trivial sind (es wird mindestens 1 Arbeitswoche dauern). Sie haben eine SDK/API/Bibliothek, die (zahlreiche) Codebeispiele enthält, die die Verwendung des Teils des SDK zur Implementierung dieser Funktionalität demonstrieren.Wie kann man lernen, ein neues SDK/API/Bibliothek zu lernen?

Wie nähern Sie sich dem Lernen aller Proben, extrahieren Sie die notwendigen Informationen, Techniken usw., um sie zu verwenden, um die "echte Sache" zu implementieren. Die wichtigsten Fragen sind:

  • Haben Sie ein Tool verwenden, um den Steuerflusses diagramming, die Interaktionen zwischen den Funktionen aus dem SDK, und die Probe selbst? Welche Art von Diagrammen finden Sie nützlich? (Ich dachte, dass das UML-Sequenzdiagramm in diesem Fall zusammen mit dem Debugger sehr nützlich sein kann).

  • Wie halten Sie die relevanten und oft zusammenhängenden Informationen über SDK/API Funktionsaufrufe, die allgemeine Struktur und Aufrufreihenfolge in den Beispielprogrammen, die als Referenz verwendet werden müssen - Mind Maps, einige Klartext Notizen, hinzugefügt Kommentare im Beispielcode, etwas Refactoring des Beispielcodes, um Ihrem persönlichen Codierungsstil zu entsprechen, um das Lernen zu erleichtern?

Antwort

5

Persönlich verwende ich den Prototyping-Ansatz. Behalten Sie die Entwicklung für überschaubare Iterationen bei. Am Anfang sind diese Iterationen wirklich klein. Scheuen Sie sich nicht, Code wegzuwerfen und neu anzufangen (jedes Mal, wenn ich sage, dass irgendwo ein Projektleiter einen Herzinfarkt hat).

Wenn Ihre bestimmte Aufgabe nicht leicht oder vernünftig in wirklich kleine Startaufgaben aufgeteilt werden kann, dann beginnen Sie mit etwas Ersatz, bis Sie in Gang kommen.

Sie möchten es so einfach wie möglich halten (die sprichwörtliche "Hallo Welt"), nur um sich mit dem Erstellen, Bereitstellen und Debuggen vertraut zu machen, wie Fehlermeldungen aussehen, die einfachen Dinge, die schief gehen können Anfang usw.

Ich gehe nicht so weit, ein Diagrammwerkzeug zu verwenden, sorry (ich sehe kaum den Punkt darin für meinen Job).

Sobald Sie beginnen, Dinge zu versuchen, werden Sie den Dreh raus haben, auch wenn Sie am Anfang keine Ahnung haben, was passiert und warum das, was Sie tun, funktioniert (oder nicht).

+0

Ich muss zustimmen. Code Prototypen Erste-Hilfe-Verständnis. Ohne sie und das Verständnis, das sie ermöglichen, können Sie nicht hoffen, ein genaues Modell Diagramme trotzdem zu erzeugen. –

2

Normalerweise kompiliere und modifiziere ich die Beispiele, so dass sie zu etwas passen, das ich selbst machen muss. Ich tendiere dazu, die entsprechenden Dokumente zu verwenden und zu kommentieren. Als etwas alte Schule ist das Werkzeug, das ich normalerweise zum Zeichnen verwende, ein Stift, oder für die wirklich komplexen Sachen zwei oder mehr farbige Stifte.

1

Ich bin keineswegs ein erfahrener Programmierer. Tatsächlich lerne ich C++ und ich habe die Sprache hauptsächlich aus Büchern gelernt. Wenn ich versuche, mich von den Büchern zu entfernen (was häufig vorkommt, weil ich anfange, zu Programmen wie LibreOffice beizutragen), finde ich mich verloren. Wenn ich die Funktionalität der Bibliothek verwende, sind meine Implementierungen falsch, weil ich nicht wirklich verstehe, wie die Bibliothek erstellt wurde und/oder warum Dinge so gemacht werden müssen. Wenn ich mir Beispielquellcode ansehe, sehe ich, wie etwas gemacht wird, aber ich verstehe nicht, warum es so gemacht wird, was zu einem schlechten Design meiner Programme führt. Und als Ergebnis erfahre ich ständig, wie ich etwas tun und mit Fehlern umgehen kann, wenn ich ihnen begegne. Sehr unproduktiv und frustrierend.

Zurück zu meinem Buch Kommentar, zwei Bücher, die ich aus der Deckung mehr als einmal bereit sind, sind Ivor Horton Anfang Visual C++ 2010 und Beginn mit C++: Frühe Objekte (7. Edition).Was ich an Ivor Hortons Buch wirklich geliebt habe, ist, dass es eine gründliche Erklärung dafür enthielt, warum etwas auf eine bestimmte Art und Weise getan werden muss. Vor Beginn der Windows-Programmierung wurde beispielsweise zuerst eine Vielzahl von Erklärungen zur Funktionsweise von Windows gegeben. Zu verstehen, wie und warum die Dinge auf eine bestimmte Art funktionieren, hilft mir bei der Entwicklung von Software.

So, um meine zwei Pfennige zur Beantwortung Ihrer Frage beizutragen. Ich denke, der beste Ansatz besteht darin, gut geschriebene Bücher zu lesen und sich über diese Bibliothek, API, SDK zu informieren, was auch immer in einem strukturierten Ansatz mit Beispielen aus der Praxis und Erklärungen dazu, wie und warum Dinge implementiert werden sind.

Ich weiß nicht, ob ich deine Frage völlig vermisst habe, aber ich glaube nicht, dass ich es getan habe.

Prost!

Dies war mein erster Beitrag auf dieser Website. Reißt mich nicht zu hart. (: