Schön dich kennenzulernen, das ist mein erster Beitrag. Neuankömmlinge wurden seit mehreren Monaten neuen Teams zugewiesen, und immer mehr Leute wurden gefragt: "Wie kann ich ein Programm schreiben?" Selbst wenn Sie sagen "Sie können ein Programm schreiben", gibt es je nach Person verschiedene Phasen. Ich habe mit verschiedenen Leuten darüber gesprochen, wie man die Wachstumsphase des Programmierens beschleunigt, während man das Wachstum spürt. Nicht alle Leute können Programme schreiben, und manche Leute können nicht. Steigen Sie die Treppe in Ihrem eigenen Tempo. Dieser Artikel richtet sich hauptsächlich an objektorientierte Sprachen.
Um es auf den Punkt zu bringen, die Aufgabe, ein Programm zu schreiben, kann erledigt werden, solange Sie die Grammatik lernen. Ich glaube nicht, dass es viele Menschen gibt, die die Bedeutung nicht verstehen können, egal wie oft sie sich die Grammatik ansehen. In einer solchen Situation habe ich folgende Punkte: "Ich kann kein Programm schreiben" und trete darauf.
Dies ist "etwas", das jeder fühlen kann, und sie sind oft auf dem tatsächlichen Gebiet zu finden. Es ist unvermeidlich, dass Sie ein Programmierer werden, der nur Programme innerhalb des Transaktionsskriptmusters ^ 1 schreiben kann, wenn Sie nur die Grammatik lernen und sie in die Entwicklungssite einfügen. Dies bedeutet, dass Sie, wenn Sie das Feld auf einer Ebene betreten, auf der Sie nur die Grammatik kennen, nur über Fähigkeiten verfügen, die die Geschäftsverarbeitung in einem festen Teil der Anwendung prozedural implementieren, wie beispielsweise den sogenannten "Action Craftsman" in der Blütezeit von Struts Es wird dir nicht möglich sein. In diesem Zustand kennen oder verstehen Sie den Verarbeitungsinhalt nur Ihren eigenen Implementierungsteil. Die mit dieser arbeitsintensiven Methode erstellte Software (als arbeitsintensives Muster bezeichnet) ist äußerst anfällig für das Hinzufügen von Funktionen und die Fehlerbehebung. Schlimmer ist, dass das Aufwachsen in einer solchen Umgebung eine Selbstverständlichkeit ist und dazu beiträgt, das weitere Programmierenlernen zu beenden. Wenn Sie aufhören zu lernen, können Sie nicht nur mit den arbeitsintensiven Mustern programmieren, die Sie kennen, sondern Sie sind auch auf der dunklen Seite, sie durchzusetzen. Es ist ein Typ, der oft als Anti-Pattern-SE auftaucht. Wenn Sie eine solche Person sehen, stellen Sie bitte diesen Artikel vor.
Wie können Sie also ein Niveau erreichen, in dem Sie sicher sein können, dass das Programm funktioniert, ohne dass Sie darauf treten müssen? Unter der Annahme, dass objektorientierte Sprachen wie Java, C # und JavaScript erworben werden, werden wir das Wachstum im Folgenden in vier Schritten organisieren. Übrigens denke ich, dass 1, 2 und 3 schlecht sind und 4 gerade studiert.
Von außen sieht dieser Zustand wie "Programm schreiben" aus. Ich denke jedoch, dass viele Leute, die es tun, denken, dass es unmöglich ist, eine Anwendung selbst zu erstellen, indem man einfach etwas kopiert. Ich denke, die meisten Leute stolpern über die Benutzeroberfläche, Generika, Lambda-Ausdrücke, LINQ usw. in c #. Es ist zu früh, um sich hier frustriert zu fühlen, da das später beschriebene Verständnis der Stufen 3 und 4 das Verständnis spiralförmig vertiefen wird. Dies ist der Weg, den jeder eingeschlagen hat. Zum jetzigen Zeitpunkt reicht es meiner Meinung nach aus, einige der Probleme am Ende der in Büchern üblichen Kapitel zu kopieren und zu lösen. Was das Problem am Ende des Kapitels betrifft, versteht der Fragesteller das Niveau des Lesers nicht richtig, und der Hintergrund, der zur Lösung des Problems erforderlich ist, variiert von Person zu Person. Die Perfektion lautet also "Ich kann nicht alle Fragen stellen, also kann ich es nicht mehr tun". Das Prinzip sollte irgendwo früh kommen. In jedem Fall ist es wichtig, eine Frist für das Grammatikstudium festzulegen, und ich denke, es ist besser, nicht für immer fortzufahren. Ich denke, es sind höchstens 2 Wochen bis 1 Monat.
Hier sind einige Punkte zu beachten, wenn Sie mit dem Kopieren und der Anwendungsentwicklung fortfahren, die in dieser Phase ein wenig angewendet werden. ・ Achten Sie so weit wie möglich auf Klassennamen, Methodennamen, Variablennamen usw. und achten Sie darauf, dass Sie diese ordentlich schreiben. ・ Es wird empfohlen, dass Sie auch Bücher lesen, um ordentlich zu schreiben, z. B. lesbare Codes. Da der Beispielcode in Büchern und online nicht immer korrekt ist, sollten Sie sich angewöhnen, Überprüfungen (statische Analyse) mit der Codeanalysefunktion von Visual Studio und IntelliJ sowie Sonarlint / FindBugs / PMD / CheckStyle of Eclipse durchzuführen. Bitte gib mir. Vor allem, wenn Sie keinen sauberen Code schreiben, auch wenn es sich um eine Basisanwendung handelt, werden Sie nach einem Monat nicht wissen, was Sie geschrieben haben, und Sie werden sich von der Programmierung entfernen.
Selbst im Status von Schritt 1 können Sie, wenn Sie eine Anwendung durch Kombinieren von Bibliotheken und externen Diensten erstellen, Software erstellen, die bis zu einem gewissen Grad funktioniert. Wenn Sie die Cloud verwenden, können Sie sogar das entwickeln, was Sie als Service bereitstellen. Wenn Sie heutzutage Cloud-Dienste verwenden, ist es nicht falsch zu sagen, dass Sie eine Anwendung erstellen können, auch wenn sich das Programm nicht in einem Zustand befindet, in dem Sie es schreiben können.
Selbst in diesem Zustand sollte die Angst, dass "ich etwas machen könnte, das funktioniert ...", nicht gelöst werden. Ich denke, der Hauptgrund für diese Angst ist, dass sie das unten beschriebene 4. Stadium nicht erreicht hat. Das Entwurfsmuster ist weitgehend definiert, aber durch das Verständnis der Architekturmuster wie MVC und MVVM ist es möglich, das zu unterdrücken, was für die Anwendungsentwicklung erforderlich ist, und die Angst wird allmählich verschwinden. Wenn Sie jedoch eine funktionierende Software erstellen, wird Ihr aktueller Status angezeigt. Wenn Sie es in dieser zweiten Phase schwierig finden, liegt es möglicherweise nicht an mangelnder Codierungsfähigkeit, sondern an mangelndem Verständnis von WEB, Datenbankzugriff und Cloud. Zunächst denke ich, dass die Abkürzung darin besteht, die Grundlagen des Fachgebiets nachzuschlagen, in dem Sie sich in Büchern nicht gut fühlen, und die grundlegende Funktionsweise zu verstehen. Durch die Nutzung der Bibliothek während der Untersuchung werden die Standardfähigkeiten der Anwendungsentwicklung erheblich verbessert, bevor Sie sie kennen. Weiter ist objektorientiert! Mit diesem Gefühl können einige Leute nach dem Erlernen der Grammatik zum objektorientierten Lernen übergehen. Es wird jedoch empfohlen, zuerst eine funktionierende Anwendung zu erstellen. Danach denke ich, dass die Reihenfolge des objektorientierten Refactorings eine gute Motivation sein wird, um fortzufahren.
Von diesem Stadium an denke ich, dass es das größte Hindernis für diejenigen sein wird, die nicht gut programmieren können. Sobald Sie auf eine Anwendung stoßen, die Vererbungs-, Polymorphismus- und Kapselungstechniken verwendet, kann Ihr Programm nicht mehr mithalten. Oder ich denke, viele Leute haben das Gefühl, dass es nicht möglich sein wird, die korrekte Hinzufügung von Funktionen zu solchen Anwendungen zu entwerfen. Sie können diese Barriere nicht einfach überwinden, ohne die Schnittstelle zu programmieren und die Beziehungen zwischen is-a und has-a zu verstehen. Es ist jedoch überraschend einfach, dies zu überwinden, indem jemand, der es bereits weiß, es beim Schreiben des Codes erklärt, anstatt es selbst zu überwinden. Es ist nicht wirklich einfach, also hab keine Angst, Leute zu fragen und weiterzumachen.
Ich denke, die Abkürzung zum Verständnis der Objektorientierung ist die Paarprogrammierung. Wenn sich jedoch keine solche Person in Ihrer Nähe befindet, können Sie die Auswirkungen und die Bedeutung der Objektorientierung besser verstehen, indem Sie Ihren früheren Code nach dem SOLID-Prinzip umgestalten.
Mit etwas Verständnis der Objektorientierung können Sie viel Code lesen und schreiben. Vielleicht ist es einfach, den Code in Produktionsprodukten zu ändern. In diesem Zustand bestehen jedoch meines Erachtens immer noch Unsicherheiten hinsichtlich der Erstellung neuer Anwendungen und der Implementierung komplexer Geschäftsprozesse.
Ein Werkzeug, um dies zu überwinden, ist das Entwurfsmuster. Entwurfsmuster wie das Design des Datenbankzugriffs und Methoden zur Aufteilung von Geschäftsprozessen sind voll von der Weisheit, dies effektiv zu tun. Anwendungen mit der richtigen Objektorientierung und den richtigen Entwurfsmustern haben auch den Vorteil, dass sie leicht zu verstehen und zu ändern sind. Ich denke vor allem, dass dies den Zeit- und Arbeitsaufwand für die Erklärung von Personen, die später eintreten, erheblich reduziert. Es gibt jedoch unzählige Designmuster auf der Welt. Es deckt eine breite Palette von SOLID-Prinzipien für die Objektorientierung, GoF-Entwurfsmuster und Architekturmuster wie MVC und MVVM für die UI-Realisierung ab. Es gibt viele, aber sei nicht angewidert. (Welches davon beginnt, hängt vom Zweck ab, aber ich glaube nicht, dass der Hund auf diese Weise versteht, was es ist.) Wenn Sie das Entwurfsmuster bis zu einem gewissen Grad verstehen, denke ich, dass das Schreiben eines Programms Spaß macht und unvermeidlich ist. Wenn Sie sich arbeitsintensive Anwendungen ansehen, müssen Sie unbedingt umgestalten.
Das Codieren des Lernens, das Erstellen von Dingen, die mit Bibliotheken funktionieren, das Denken von Objekten und das Refactoring mit Entwurfsmustern können besser verstanden werden, indem jedes in kurzer Zeit wiederholt wird, anstatt viel Zeit zu verbringen. Bitte legen Sie einen Zeitraum fest und arbeiten Sie daran.
Basierend auf den obigen Lernschritten möchte ich zwei Punkte schreiben, die von Anfängern selten gemacht werden.
Die meisten Dinge, die Sie an Programmen wahrscheinlich schwer verstehen, betreffen die objektorientierte und funktionale Programmierung. Wenn dem Buch eine Beschreibung fehlt, werde ich meine Schwäche nie verlieren, selbst wenn ich es für immer lese. Lassen Sie uns das Buch ändern. Und wie in den obigen vier Schritten erläutert, können Sie, selbst wenn Sie nur die Grammatik verstehen, nicht den Punkt erreichen, an dem Sie die objektorientierte Sprache sicher beherrschen können. Schätzen Sie also nicht für immer dasselbe Grammatikbuch und fahren Sie mit der Entwicklung verschiedener Bücher und Anwendungen fort. Schauen wir uns das an.
Wie so oft beim Lernen von C # sehe ich Leute, die übersetzte Bücher lesen, die auf Version 3 und Version 4 basieren. Es ist nicht ganz bedeutungslos, aber ich denke nicht, dass es gut ist, blind für das Buch "Alt, aber von Amazon hoch bewertet" zu sein. (Ich denke nicht, dass es genauso gut ist, den Überblick zu behalten) Ich wage es jedoch, es im Gegensatz dazu zu schreiben, aber "Effective Java 2nd Edition" ist ein altes Buch, aber es ist immer noch lesenswert, da es ein Buch ist, das die oben geschriebenen Teile der Stufen 3 und 4 enthält. Wenn Sie wirklich ein altes Buch zum Lernen der Grammatik verwenden möchten, empfehlen wir Ihnen, auch ein Buch mit den Spezifikationen der neuen Version zu kaufen und zu lesen.
Hier sind einige empfohlene Bücher, um mit den neuesten Sprachspezifikationen Schritt zu halten und mit der 3. und 4. Stufe fortzufahren.
Recommended Posts