[JAVA] Zusammengefasst, wie man die Programmiertreppe hinaufsteigt

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.

Es gibt Treppen in der Programmierung

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.

  1. Selbst wenn Sie versuchen, den Code eines vorhandenen Produkts zu lesen, können Sie ihm bei Erreichen einer bestimmten Tiefe nicht mehr folgen.
  2. Selbst wenn ich versuche, ein einfaches Modell zu erstellen, kann ich beim Erstellen eines Modells nicht mit dem nächsten fortfahren

Häufige Situationen beim Treppenabsatz

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.

Es bleibt nichts anderes übrig, als von der Landung aus in der richtigen Reihenfolge aufzusteigen

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.

4 Stufen des Programmierwachstums (objektorientierte Sprache)

1. 1. Verstehe die Grammatik und folge dem Buch

Lassen Sie uns die Perfektion wegwerfen

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.

Achten Sie darauf, den Code auch beim ersten Mal sauber zu schreiben

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.

2. Verwenden Sie die Bibliothek, um etwas zu erstellen

Wenn Sie eine Cloud haben, können Sie etwas erstellen, das jetzt funktioniert

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.

Ich habe etwas, das funktioniert, aber ich mache mir Sorgen, dass es nicht an meinen Programmierkenntnissen liegt

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.

3. 3. Objektorientiertes Design und Implementierung

Abschluss der prozeduralen Programmierung erforderlich

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.

Refaktorieren Sie Ihren Code

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.

4. Designmuster kennen und nutzen

Ich mache mir immer noch Sorgen um das Schreiben einer Anwendungsarchitektur

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.

Nutzen Sie die Weisheit unserer Vorgänger in Designmustern

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.

Wiederholen Sie die vier Schritte

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.

Es gibt etwas, das durch Lernen erreicht wird

Basierend auf den obigen Lernschritten möchte ich zwei Punkte schreiben, die von Anfängern selten gemacht werden.

Verbringen Sie Monate damit, das erste Buch zu lernen, das ich getroffen habe, um die Grammatik zu lernen

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.

Ich benutze ein altes Buch

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.

Meine Empfehlung als nächstes Grammatikbuch in Java und C

Hier sind einige empfohlene Bücher, um mit den neuesten Sprachspezifikationen Schritt zu halten und mit der 3. und 4. Stufe fortzufahren.

Recommended Posts

Zusammengefasst, wie man die Programmiertreppe hinaufsteigt
Hier sind einige Artikel, auf die sich Anfänger in der Programmierung bezogen haben.
Verwendung der link_to-Methode
Verwendung der include? -Methode
Verwendung der Methode form_with
So finden Sie den durchschnittlichen Winkel
Wie man die Programmierung in 3 Monaten beherrscht
Verwendung der Wrapper-Klasse
So fügen Sie die Löschfunktion hinzu
[Java] Verwendung der File-Klasse
So löschen Sie die Fehlerbündelung
[Schienen] Verwendung der Kartenmethode
Studieren der Verwendung des Konstruktors (Java)
[Verarbeitung × Java] Verwendung der Schleife
So bestimmen Sie die Anzahl der Parallelen
[Java] So stellen Sie die Datums- und Uhrzeit auf 00:00:00 ein
[Java] So erhalten Sie das aktuelle Verzeichnis
[Verarbeitung × Java] Verwendung der Klasse
So sortieren Sie eine Liste von SelectItems
So erhalten Sie das Datum mit Java
[Verarbeitung × Java] Verwendung der Funktion
[Java] Verwendung der Calendar-Klasse
Gorigori-Anfänger fassten zusammen, wie die Datenbank mit der Rails-Konsole Ntiunus betrieben wird
[Rails] So bestimmen Sie das Ziel anhand von "Rails-Routen"
So finden Sie die Ursache des Ruby-Fehlers
Verwendung des Kameramoduls OV7725 (ESP32-WROVER-B)
So überprüfen Sie das Protokoll im Docker-Container
Passen Sie an, wie der Inhalt von Recyclerview aufgeteilt wird
Wie komme ich zum heutigen Tag?
[Für Anfänger] So implementieren Sie die Löschfunktion
So löschen Sie die Datenbank beim Neuerstellen der App
Ausgabe der Verwendung der Slice-Methode
Das erste Jahr des Berufslebens fasste zusammen, wie man die Java Bronze-Prüfung ablegt
[Java] (für MacOS) Methode zur Einstellung des Klassenpfads
Verwendung der replace () -Methode (Java Silver)
So zeigen Sie das Ergebnis des Ausfüllens des Formulars an
So finden Sie die Gesamtpunktzahl und die Durchschnittspunktzahl
[Java] So erhalten Sie die endgültige umgeleitete URL
So erstellen Sie die einfachste Blockchain in Ruby
[Java] Memo zum Schreiben der Quelle
[Spring Boot] So verweisen Sie auf die Eigenschaftendatei
So überprüfen Sie Rails-Befehle im Terminal
[Ruby-Grundlagen] Verwendung der Slice-Methode
[Java] So erhalten Sie die URL der Übergangsquelle
So ändern Sie die Aktion mit mehreren Senden-Schaltflächen