Nach dem, was ich höre, ist 80% der Arbeit Zeit, den Quellcode zu lesen. Trotz der Skala von 80% besteht jedoch kein Eindruck davon, dass eine aktive Diskussion über das Lesen des Quellcodes stattfindet, und es gibt auch Websites und Bücher, die zusammenfassen, wie der Quellcode systematisch und in der richtigen Reihenfolge gelesen wird. Wenige. Obwohl ich mich fragte, hatte ich den Quellcode schon lange gelesen, indem ich mich auf das Lesen mit einem Debugger, den Inhalt von lesbarem Code und Webartikel bezog.
Die Informationen über die Quellcode-Lesemethode waren jedoch in der Memo-App verstreut, und ich hatte das Gefühl, dass die Quellcode-Lesetechnologie nicht für immer systematisch erworben wurde. Aus diesem Grund haben wir in diesem Dokument einen Spickzettel zusammengestellt, in dem erläutert wird, wie der Quellcode aus verschiedenen Dokumenten unabhängig von Medien wie Büchern, Webartikeln und YouTube effizient gelesen werden kann. Der Zweck der Erstellung eines Spickzettel besteht darin, "das Zurückblicken und Wiederholen für lange Zeit zu erleichtern" und "das Wissen über das Lesen von Quellcode systematisch zu organisieren und das Abrufen von Informationen durch Zentralisierung von Informationen zu erleichtern". Gibt es. Die in diesem Artikel angenommene Sprache ist Ruby, die mir vertraut ist.
Das Lesen des Codes hat die folgenden Ebenen.
Stellen Sie die Seriennummern wie folgt ein.
Die Lesung im Bild "Wissensgruppe, die den Vorgang des Codelesens darstellt" ist 1 → 7 in Bezug auf die Seriennummer. Das Lesen von den Details zum Ganzen wird als Codelesen bezeichnet.
Dies ist jedoch eine Lesemethode, wenn Sie das Programm bis zu einem gewissen Grad verstanden haben und im Falle eines Fehlers oder am ersten Tag der Projektteilnahme 7 → 5 → 6 → 4 → 3 → 2 → 1 (ich lese in dieser Reihenfolge) Ich denke jedoch, dass das Lesen vom Ganzen bis zu den Details wie (Stil ist kostenlos) geeignet ist, das Programm zu erfassen. Daher werden wir in diesem Dokument in der Reihenfolge beschreiben, in der ein Fehler angenommen oder der Quellcode am ersten Tag der Projektteilnahme gelesen wird.
Abgesehen davon denke ich, dass die "Wissensgruppe, die den Akt des Codelesens ausmacht", eine hervorragende Zahl ist, da die Methode zum Lesen des Quellcodes geschichtet und klassifiziert ist.
Anschließend werde ich die Technologie zum Lesen des Quellcodes aus dem nächsten Artikel ausführlich erläutern.
Das zu lesende Programm wurde festgelegt. Was tust du jetzt? Wenn Sie nur ohne Richtlinie von main lesen, werden Sie nicht verstehen, was der Code zu sagen versucht. Definieren Sie zunächst klar den Zweck des Lesens des Codes und konzentrieren Sie sich darauf. Auch wenn Sie alles lesen müssen, teilen Sie den Pfad und lesen Sie jeden Teil. (* 1)
** ⑦ Geschäftskenntnisse / Geschäftsanforderungen / nicht funktionale Anforderungen (was Sie erreichen möchten) ** im obigen Bild entsprechen diesem. "Um den Fehler zu beheben" und "Um das Projekt zu verstehen" sind anwendbar, und insbesondere "Ich möchte das Problem lösen, weil es zu NoMethodError wurde" und "Ich möchte die gleiche Funktion implementieren" werden als Zweck festgelegt.
Übrigens teilt der Autor das durch Arbeit und Selbststudium gewonnene Wissen täglich in funktionale und nicht funktionale Anforderungen ein und speichert sie in einem Spickzettelformat, um den Zweck schnell zu erreichen. Ich möchte eine Suchfunktion erstellen! Wenn Sie () denken, beziehen Sie sich auf die funktionale Anforderung this und möchten Sie die Spalte ändern! Wenn Sie denken, beziehen Sie sich auf die nicht funktionale Anforderung this. Wenn Sie einen Fehler, von dem Sie einmal abhängig sind, im Spickzettelformat speichern, können Sie ohne Probleme zweimal auf die URL verweisen, wenn Sie auf denselben Fehler stoßen. Dies führt auch zu psychischer Stabilität.
Außerdem verwende ich vorerst einen echten iOS-Notizblock und InkDrop, um Spickzettel zu erstellen, und bei der Ausgabe nach außen verwende ich Blogs und Qiita. Es ist sehr gut, dass der Quellcode, der gut zu lesen scheint, wie z. B. OSS, wiederverwendet werden kann, indem er einzeln in GitHub gespeichert wird.
Grob gesagt können Analysemethoden in statische und dynamische Methoden unterteilt werden. Die statische Methode besteht darin, den Quellcode selbst zu lesen. Die dynamische Methode besteht darin, die Bewegung zur Laufzeit mit einem Debugger oder dergleichen zu verfolgen. Grundsätzlich ist es besser, die Analyse mit einer dynamischen Analyse zu beginnen. Die statische Analyse sagt mehr oder weniger das Verhalten eines Programms voraus. Auf der anderen Seite ist es eine Tatsache, durch dynamische Analyse zu sehen. Es ist einfacher, Anweisungen zu erhalten und Fehler zu reduzieren, wenn Sie zuerst die Fakten betrachten. Ist es ähnlich, ein Profil vor der Optimierung zu erstellen? Es kann gesagt werden, dass der Fall zuerst von der Szene gelöst wird. (* 1)
Es scheint. Daher werden wir anhand der dynamischen Methode erklären.
Darüber hinaus wird in diesem Artikel eine dynamische Analyse durchgeführt, um "Fehler zu lösen", aber der Quellcode wird auch dynamisch analysiert, um "das Projekt zu verstehen". Bitte konvertieren Sie den Teil "Wenn ein Fehler auftritt" in "Wenn Sie den Quellcode finden, den Sie im Projekt interessieren".
Ich denke, dass Webprogrammierung ist, wenn der Client eine Anfrage mit Parametern sendet, diese auf der Serverseite verarbeitet und auf den Client antwortet. Manchmal wird der Wert des Parameters aus der Datenbank als Referenz genommen, auf der Serverseite verarbeitet und auf den Client geantwortet. Mit anderen Worten, Webprogrammierung ist ein Bucket-Relay-Turnier und ein Relay-Race-Turnier. Das Wasser im Eimer und die Taski wurden nur Variablen. Und der Fehler tritt auf, weil der Wert der Variablen von der Erwartung abweicht oder die Regel des Turniers nicht logisch ist.
Der Debugger analysiert, welcher Punkt im Fluss des Schaufelrelais einen Fehler verursacht. Der Ort des Fehlers, der dem in "1 Festlegen des Zwecks" oben festgelegten Zweck entspricht, wird über den Browser, die URL und die Rückverfolgung ermittelt, und der entsprechende Ordner und die entsprechende Datei werden analog aus der Projektdatei unter Verwendung des angegebenen Namens durchsucht. Machen. Auf diese Weise werden der Dateiname, der Funktionsname, der Variablenname, der Typname und der Mitgliedsname angegeben, die so aussehen, wie sie aussehen, und an einer bestimmten Stelle wird ein Debugger eingefügt, um den Variablenfluss zu erfassen.
Durch die Verwendung eines Debuggers kann ein Programm, das im Gehirn als statische Zeicheninformation erkannt wurde, im Gehirn sofort als dynamische Landschaft erkannt werden. Persönlich fühle ich etwas in der Nähe des Eindrucks, als ein Bild vor 80 Jahren plötzlich zu einem Film wurde und sich zu bewegen begann. Die rechte Gehirnhälfte und die räumliche Wahrnehmung können verwendet werden, indem das Programm als Bild erfasst wird. Da der Verarbeitungsfluss in der rechten Gehirnhälfte mit einer großen Speicherkapazität gespeichert werden kann, kann der Quellcode in der freien linken Gehirnhälfte analysiert werden.
Wenn es sich um eine IDE handelt, verwenden Sie den Debugger, der in Eclipse- oder JetBrain-IDEs integriert ist. Wenn nicht, sollte Ruby eine Drittanbieter-Bibliothek wie byebug oder pry verwenden.
In 4.1 habe ich den Back Trace gelesen und den Debugger verwendet, um den Verarbeitungsablauf des Quellcodes zu verstehen. Nach dem Erfassen des Verarbeitungsablaufs besteht der nächste Schritt darin, den erfassten Inhalt auf Japanisch oder in einer Abbildung aufzuschreiben.
Warum "den Prozessablauf des Quellcodes durch Japanisch ersetzen und eine Notiz machen"? Es gibt zwei Gründe.
Der erste ist "weil der Quellcode abstrakt ist".
Ich denke, dass das Entschlüsseln des Quellcodes darin besteht, das abstrakte Konzept in das konkrete Konzept umzusetzen. Ein Genie oder ein Ingenieur mit langjähriger Berufserfahrung kann die Abstraktion so verstehen und nutzen, aber ich bin ein gewöhnlicher Mensch mit wenig Berufserfahrung in der Programmierung. Daher denke ich, dass die Einbeziehung eines abstrakten Konzepts in ein konkretes Konzept und das Notieren auf Japanisch ein wichtiger Faktor für die Arbeitseffizienz, das Lernen und die externe Speicherung des Denkens ist. Daher ist es wichtig, "den Verarbeitungsablauf des Quellcodes durch Japanisch zu ersetzen und eine Notiz zu machen".
Der zweite ist "weil der Quellcode in Englisch geschrieben ist".
Zunächst einmal sind wir Japaner. Ich benutze Japanisch für 24 Stunden. Was auf Japanisch geschrieben ist, kann in 0 Sekunden verstanden werden und das Bild ist leicht zu verstehen. Leider ist der Quellcode in Englisch. Ich bin nicht mit Englisch vertraut, das nicht meine Muttersprache ist. Selbst wenn Sie Giraffe auf Englisch sagen, können Sie es nicht sofort verstehen, aber wenn Sie Kirin auf Japanisch sagen, können Sie sich in 0 Sekunden ein Tier Kirin in Ihrem Kopf vorstellen. Mit anderen Worten, die Bedeutung von Wörtern, die auf Englisch geschrieben sind, kann nicht in 0 Sekunden verstanden werden, und das Bildgedächtnis ist schwieriger als auf Japanisch. Daher ist es wichtig, den Fluss des abstrakten Quellcodes in englischer Sprache in einem Memo auf Japanisch oder in einem Diagramm zu beschreiben, um die Arbeit zu beschleunigen.
Wenn Sie den Quellcode so verstehen möchten, wie er auf Englisch ist, müssen Sie sich bewusst angewöhnen, Englisch auf Englisch zu verstehen und Ihr englisches Gehirn zu entwickeln. Ich denke jedoch, dass es wahrscheinlich eine beträchtliche Zeit dauern wird, um Englisch zu lernen. Besonders zum Schreiben. Da ich oft Programmieren und Marketing lerne, kann ich meine Ressourcen auch nicht auf Englisch verwenden. Daher ist es wichtig, sich zu beeilen, das in Englisch geschriebene Programm in Japanisch umzuwandeln und den Verarbeitungsablauf nacheinander aufzuschreiben und zu organisieren.
Aus den oben genannten Gründen ist es wichtig, den Verarbeitungsablauf des Quellcodes auf Japanisch oder in Zahlen zu beschreiben. Eigentlich habe ich die dritte Sache vorbereitet, "einen Punkt, an dem man den Prozessablauf aus der Vogelperspektive verstehen kann", aber ich habe die Beschreibung weggelassen, weil ich nicht wusste, wie man die detaillierten Sätze schreibt.
Ich konnte den Ort des Fehlers in 4.1 und den gesamten Verarbeitungsablauf in 4.2 erfassen.
Ich denke, dass das Debuggen ein Akt der Hypothesentestung ist, dass "bei einem bestimmten Prozess (Zeile) der Datenstatus so sein sollte".
Wenn Sie die Fehlermeldung lesen, können Sie sich einen Überblick darüber verschaffen, warum der Fehlerteil nicht funktioniert. Manchmal verstehen Sie jedoch nicht, warum er nicht funktioniert. In einem solchen Fall kann der Fehler mit der folgenden Methode behoben werden. In 3.3 [Einführung in Ruby für diejenigen, die Profis werden möchten](https://www.amazon.co.jp/%E3%83%97%E3%83%AD%E3%82%92%E7%9B%AE] % E6% 8C% 87% E3% 81% 99% E4% BA% BA% E3% 81% AE% E3% 81% 9F% E3% 82% 81% E3% 81% AERuby% E5% 85% A5% E9 % 96% 80-% E8% A8% 80% E8% AA% 9E% E4% BB% 95% E6% A7% 98% E3% 81% 8B% E3% 82% 89% E3% 83% 86% E3% 82% B9% E3% 83% 88% E9% A7% 86% E5% 8B% 95% E9% 96% 8B% E7% 99% BA% E3% 83% BB% E3% 83% 87% E3% 83% 90% E3% 83% 83% E3% 82% B0% E6% 8A% 80% E6% B3% 95% E3% 81% BE% E3% 81% A7-Software-Design-plus% E3% 82% B7% Ich bezog mich auf Kapitel 11 von E3% 83% AA% E3% 83% BC% E3% 82% BA / dp / 4774193976). Da es sich um ein berühmtes Buch handelt, haben Sie es vielleicht schon einmal gehört, wenn Sie ein erfahrener Ruby-Benutzer sind. Es ist jedoch wichtig, um die grundlegende Grammatik von Knowledge "Wissensgruppe, die den Akt des Codelesens darstellt" zu unterdrücken. Wenn Sie also interessiert sind, lesen Sie es bitte. Ma ZEIT ZEIGEN.
Durch Kopieren und googeln der Fehlermeldung werden die meisten Probleme gelöst.
Grob gesagt kann die Rückverfolgung verwendet werden, um herauszufinden, wo eine Methode aufgerufen wurde, aus "Daten, die den Aufrufstatus der Methode darstellen". Wenn Sie von Schienen sprechen, verwenden Sie Application Trace.
Es scheint, dass einige Frameworks wie Rails-Ausgabeprotokolle.
Überblick
Ist meine Vermutung und das tatsächliche Verarbeitungsverhalten korrekt? Ich möchte herausfinden, wo die Schätzung der Variablen und die tatsächliche Abweichung liegen.
Methode
Dies geschieht, wenn sich das Verhalten der Methode von dem unterscheidet, was Sie erwartet haben, oder wenn Sie das Verhalten der Bibliothek überprüfen möchten.
Methode
Wenn Sie wissen möchten, wie sich die externe Bibliothek verhält, oder wenn die externe Bibliothek aufgrund eines Versions-Upgrades usw. nicht funktioniert, müssen Sie den Code der Bibliothek aufrufen. Da Ruby eine Skriptsprache ist, sollten die zum Ausführen erforderlichen Bibliotheken als Ruby-Code zur Verfügung stehen. Der Rest kann mithilfe der source_location-Methode der Method-Klasse ermittelt werden, um den Speicherort der Bibliothek aus dem Projekt zu ermitteln. Wenn der Rückgabewert Null ist (in C-Sprache implementiert), handelt es sich häufig um eine Methode der Ruby-Standardbibliothek.
Außerdem eignet sich der Quellcode der Bibliothek häufig hervorragend als Quellcode. Wenn Sie also lernen, wie man ihn schreibt und in GitHub usw. speichert, können Sie ihn wiederverwenden und Ihre technischen Fähigkeiten verbessern.
verdienen
Methode
Siehe das Testframework für jede Sprache.
Auf die Toilette gehen, Getränke kaufen, spazieren gehen, Sport treiben, ein Nickerchen machen, Reis essen, ein Bad nehmen, früh ins Bett gehen.
Dies kann das Problem lösen, das aufgrund der offenen Sichtbarkeit mehrere Stunden lang aufgetreten ist.
Da beide Hauptinformationen sind, denke ich, dass sie das Problem genau und sicher lösen können.
Siehe Qiita und persönliche Blogs.
Es scheint einen Problemverfolgungsdienst zu geben (ich habe es zuerst erfahren). Ich verstehe den ganzen Satz nicht auf Englisch, aber da es sich um ein offizielles Problem handelt, denke ich, dass Sie das Problem im Fehlerfall genau und sicher lösen können, wenn Sie es als Fehlerbehebungsoption in den Kopfwinkel stecken.
Persönlich, wenn ich nach einer bestimmten Zeitspanne nicht verstehe, ist das momentan meine Grenze, daher möchte ich die Leute nach der Zusammenfassung der wichtigsten Punkte fragen. Es ist jedoch auch eine Methode des Widerstands, da es oft ein bitteres Gesicht ist.
Ich denke, ich werde verlieren, wenn ich den Quellcode lese.
Referenzhandbücher, Dokumente Designbezogene Dokumente und Materialien Es sollte viele großartige Dinge geben, die in natürlicher Sprache geschrieben sind. Lesen Sie diese also zuerst.
Wenn Sie sich nicht auf sie verlassen können oder wenn sie nicht helfen, lesen Sie den Code. Wir betonen jedoch die Benennung von Kommentaren und Bezeichnern und versuchen zunächst, diese so aussagekräftig wie möglich zu interpretieren.
Falls keine Kommentare vorhanden sind und der Variablenname angemessen ist, gibt es keine Hilfe dafür. Sie können nichts anderes tun. Schauen wir uns also die Codelogik an.
Das Lesen ist mühsam, daher ist es das erste, was Sie nicht tun möchten, wenn Sie können. Überlegen Sie, wie Sie dies so weit wie möglich vermeiden können.
Wenn Sie ein Anfänger sind, können Sie aufgrund mangelnder Lesefähigkeit häufig keine Fortschritte erzielen. Wenn Sie nicht unter dem Druck stehen, sollten Sie sagen: "Sie sollten das Lesen Ihres Codes ein wenig verbessern."
Der Vorgänger sollte das Dokument verlassen haben, lesen Sie es also. https://teratail.com/questions/147782
Dies ähnelt auch dem vorherigen Abschnitt. Lassen Sie uns zunächst die technischen Daten kennen. Wenn es ein Dokument gibt, das die interne Struktur erklärt, möchte ich es auf jeden Fall sehen. Überprüfen Sie, ob Dateien mit Namen wie "HACKING" und "TOUR" vorhanden sind.
Es entspricht der ** ⑥ Teamregel ** in der "Wissensgruppe, die den Akt des Code-Lesens darstellt". Da sich der Vorgänger die Zeit genommen hat, das Dokument in natürlicher Sprache und in natürlichen Abbildungen zu belassen, ist es besser, das Dokument zuerst zu lesen, wenn es eines gibt.
Es entspricht ** ④ Entwurfsmuster, Datenstruktur / Algorithmus, Paradigma / Prinzip ** in "Wissensgruppe, die den Akt des Codelesens darstellt".
Sehen Sie, wie das Verzeichnis aufgeteilt ist. Verschaffen Sie sich einen Überblick darüber, wie das Programm aufgebaut ist und welche Teile es enthält. Sehen Sie, wie jedes Modul zusammenhängt.
Sehen Sie sich die in der Datei enthaltene Funktion (Name) an, um zu sehen, wie die Datei aufgeteilt ist. Der Dateiname ist wie ein unverminderter Kommentar und sollte notiert werden.
Außerdem möchte ich auf die Namensregeln für Funktionsnamen hinweisen. Die meisten C-Programme verwenden Präfixe für die externe Funktion, mit denen der Funktionstyp identifiziert werden kann. In einem objektorientierten Programm können die Funktionszugehörigkeitsinformationen auch im Präfix enthalten sein, was wertvolle Informationen sind. (Beispiel: rb_str_push)
Die nächstwichtigste Information nach dem Funktionsnamen. Dies ist besonders wichtig, wenn Sie über eine große Anzahl von Funktionen verfügen. Ich möchte das Tool dafür verwenden. Es ist am besten, wenn Sie ein Werkzeug haben, mit dem Sie ein Diagramm erstellen können. Wenn Sie jedoch keines haben, müssen Sie nur die wichtigsten Teile zeichnen. Daher ist es eine gute Idee, das Diagramm selbst zu zeichnen. Sie müssen das Diagramm nicht näher erläutern, es reicht also aus, es grob auf das Trägerpapier zu zeichnen.
Übrigens wird ein Diagramm der Beziehung zwischen diesen Anrufen manchmal als Anrufdiagramm bezeichnet. Das statische Aufrufdiagramm ist ein Diagramm der Anrufbeziehungen, die im Quellcode so wie es ist geschrieben ist, und das dynamische Aufrufdiagramm ist ein Diagramm, das nur die Funktionen darstellt, die aufgerufen wurden, als es tatsächlich betrieben wurde. Grafik aufrufen).
Es scheint jedoch, dass sich in japanischen Sätzen "Anrufdiagramm" implizit auf ein dynamisches Anrufdiagramm bezieht und ein statisches Anrufdiagramm häufig als "Funktionsaufrufbeziehung" bezeichnet wird. Es ist jedoch einfacher zu verstehen, ob es mit statischen und dynamischen gepaart ist, daher nenne ich es dynamisches Anrufdiagramm / statisches Anrufdiagramm.
Ich denke, dass Call Graph eine der Funktionen von Eclipse war, als ich Java machte. Selbst wenn ich es in "Ruby Call Graph" oder "vscode Call Graph" nachschlage, wird es nicht angezeigt und ich kenne die Details nicht im Detail. Deshalb werde ich es vorerst in die Ecke meines Kopfes legen. Wenn Sie wissen wollen, suchen Sie bitte.
Ein Entwurfsmuster ist "ein Muster eines häufig verwendeten Entwurfs in der Objektorientierung" und "eine Lösung für ein ähnliches Problem, das häufig auftritt". Wenn Sie das Entwurfsmuster kennen, können Sie beim Lesen und Schreiben des Quellcodes die folgenden Vorteile genießen.
verdienen
Zusammenfassung der GoF-Entwurfsmuster
Material des Entwurfsmusters am Beispiel von Ruby
Entwurfsmuster für gewöhnliche Menschen durch gewöhnliche Menschen Act 1 Public
Ein Programm ist wie das Gewinnen einer weiteren Hälfte, wenn Sie wissen, wie die Datenstruktur aussieht. Beim Schreiben von Code ist es viel nützlicher, die Datenstruktur (nur) zu erklären, als den Code einzeln zu kommentieren. (Und es wurde in einem Buch geschrieben, was ist das?)
※ Nachschrift: Es war "die Methode des Programmhandbuchs". Das Folgende wird aus S.168 desselben Buches zitiert. "Eine der effektivsten Möglichkeiten, ein Programm zu erklären, besteht darin, einfach detailliert zu erklären, wie die Daten zugeordnet werden. Was sind die möglichen Werte für die Hauptvariablen? Wenn Sie erklären, wie es sich ändert, können Sie sagen, dass die Erklärung des Programms sehr weit fortgeschritten ist. " Das Originalbuch dieses Buches wurde übrigens 1974 veröffentlicht.
- Anhang 2: Ich habe einen ähnlichen Kommentar in "C Programming Diagnosis Room" gefunden. Das Folgende wird aus S.78 desselben Buches zitiert. "Verwenden Sie keine Flussdiagramme. Es ist nicht gut, weil Sie den Kontrollfluss in" alles "schreiben können. Das Programm dient zur Datenverarbeitung, und der Steuerungsfluss ändert sich je nach Datenunterschied. Bis zuletzt sind Daten das Hauptthema. Die einfache Programmierung wird erheblich verbessert, je nachdem, wie die Daten wie Variablen und Argumente definiert sind. Ein Diagramm, wie die Datenstruktur aussieht, ist viel nützlicher als ein Flussdiagramm. Notieren Sie die Bedeutung der Daten. ""
Leises Gespräch. Wenn Sie eine Datenstruktur in C erstellen möchten, sollten Sie natürlich struct oder union verwenden. Solche wichtigen Strukturen werden häufig in Header-Dateien definiert. Natürlich kann die interne Struktur in .c definiert sein, und einige Datenstrukturen werden dynamisch aufgebaut, sodass Sie es am Ende erst wissen, wenn Sie die Funktion gelesen haben. Trotzdem sollten Sie zuerst die Header-Datei lesen. Der Dateiname ist auch beim Lesen der Header-Datei wichtig. Wenn sich beispielsweise im Sprachverarbeitungssystem eine Datei mit dem Namen frame.h befindet, handelt es sich wahrscheinlich um die Definition des Stapelrahmens.
Konzentrieren Sie sich bei der Vorhersage von Datenstrukturen auf Strukturelemente. Wenn in der Strukturdefinition nebenan ein Zeiger steht, können Sie sich vorstellen, dass es sich um eine Linkliste handelt. Wenn es Elemente wie Eltern, Kinder und Geschwister gibt, ist es ebenfalls ein Baum von zehn.
Ich habe keine praktischen Erfahrungen mit Algorithmen und Datenstrukturen, daher bin ich mir nicht sicher, wie ich sie verwenden soll. Anscheinend wird es häufig bei der Durchführung von Big-Data-Analysen verwendet. Es wird angenommen, dass das Verständnis der Literatur durch das Lesen des Folgenden vertieft wird.
STEP1
[26 Algorithmen, die im Algorithmus-Bilderbuch zu sehen sind](https://www.amazon.co.jp/%E3%82%A2%E3%83%AB%E3%82%B4%E3%83%AA% E3% 82% BA% E3% 83% A0% E5% 9B% B3% E9% 91% 91-% E7% B5% B5% E3% 81% A7% E8% A6% 8B% E3% 81% A6% E3 % 82% 8F% E3% 81% 8B% E3% 82% 8B26% E3% 81% AE% E3% 82% A2% E3% 83% AB% E3% 82% B4% E3% 83% AA% E3% 82 % BA% E3% 83% A0-% E7% 9F% B3% E7% 94% B0% E4% BF% 9D% E8% BC% 9D-ebook / dp / B07179Q3MJ)
STEP2
AtCoder: Japans größte Website für wettbewerbsfähige Programmierwettbewerbe
Wenn Sie weitere Empfehlungen haben, lassen Sie es mich bitte wissen!
Auf welche der Dateien, Funktionen (Methoden), Typen (Klassen), Variablen, Mitgliedsvariablen und reservierten Wörter bezieht sich das im Quellcode enthaltene Wort? Wissen, wie man schreibt.
Für Frameworks wie Rails gibt es Namenskonventionen. Der Dateiname kann verwendet werden, um bis zu einem gewissen Grad zu schließen, welche Rolle er in der Software spielt.
Methoden aus der Standardbibliothek (Klassen, die ursprünglich in Ruby, Rails usw. enthalten waren, und die zugehörigen Methoden, da sie häufig verwendet werden. In die Hall of Fame aufgenommen)
Externe Bibliotheksmethode (Edelstein)
Methoden aus Ihrer eigenen Bibliothek (Helfer, Modell, Anwendung)
Methodenoptionen
Ganzzahl, Zeichenfolge, Array usw.
In der objektorientierten Programmierung werden Typen als Klassen bezeichnet, und Sie können Klassen selbst erstellen und verwenden.
Objektorientierte Programmierterminologie
Klassen, Objekte, Instanzen, Empfänger, Methoden, Nachrichten, Zustände, Attribute (Attribute, Eigenschaften)
Variablen, Mitgliedsvariablen, Instanzvariablen, Klasseninstanzvariablen
https://qiita.com/mogulla3/items/cd4d6e188c34c6819709
Der Zweck besteht darin, unerwartete Konflikte von Klassennamen zu verhindern.
Ein Wort, das eine Struktur wie "sequentielle Verarbeitung", "bedingte Verzweigung" und "Wiederholung" ausdrückt.
#Reservierte Wörter und Bezeichner in Rubin
BEGIN class ensure nil self when
END def false not super while
alias defined? for or then yield
and do if redo true __LINE__
begin else in rescue undef __FILE__
break elsif module retry unless __ENCODING__
case end next return until
Listen Sie verwirrende Abkürzungen auf und suchen Sie sie frühzeitig nach. Wenn beispielsweise "GC" geschrieben wird, ist die Geschichte ganz anders, je nachdem, ob es sich um eine Speicherbereinigung oder einen grafischen Kontext handelt. Auf Englisch gibt es viele Dinge, wie den ersten Buchstaben eines Wortes zu nehmen oder Vokale zu entfernen. Insbesondere Abkürzungen, die im Bereich des Zielprogramms bekannt sind, werden ohne Fragen verwendet. Überprüfen Sie dies daher im Voraus.
Lassen Sie mich ein Beispiel geben, an das ich mich erinnere. Ein bestimmtes Lisp-Verarbeitungssystem verwendet im gesamten Programm ein Präfix namens "blt", aber ich hatte ein Problem, weil ich nicht wusste, was dies bedeutet. Dies war eigentlich eine eingebaute Funktion. Es ist einfach zu verstehen, aber wenn Sie dies nicht verstehen, ist der Schwierigkeitsgrad ganz anders.
Es scheint. Sicherlich habe ich das Gefühl, in einem Java-Projekt eine Abkürzung gesehen zu haben. Wenn du es nicht weißt
Sie müssen eine dieser Strategien anwenden.
Wenn Sie Variablen usw. selbst codieren, sollten Sie sich auch auf den lesbaren Code beziehen.
RASIS ist einer der Bewertungsindizes für Computersysteme und drückt die fünf Elemente "Zuverlässigkeit", "Verfügbarkeit", "Wartung", "Wartung" und "Sicherheit" durch Akronym (Abkürzung) aus. ..
Erstellt basierend auf Worauf Sie bei der Entwicklung von Webdiensten in Unternehmen achten sollten (für neue Absolventen). RASIS ist nicht hell. Wenn Sie weitere Informationen benötigen, lesen Sie bitte die Informationen.
Stärke gegen Systemausfall "Schwer zu brechen" Zeigt die Beständigkeit gegen Systemausfall an.
Der angeforderte Dienst ist zum erforderlichen Zeitpunkt verfügbar. Grad "Dienst verfügbar". Fähigkeit, das System am Laufen zu halten.
Streben Sie ein "einfaches System" an. Wenn es einfach ist, ist es einfach, den Inhalt zu erfassen und zu aktualisieren.
Es bezieht sich auf die Konsistenz und Konsistenz von Daten. Wird oft als Datenbankdaten bezeichnet. Mit Rails werden Einschränkungen für die Modellebene und die Datenbank festgelegt.
[SQL Anti-Pattern](https://www.amazon.co.jp/SQL%E3%82%A2%E3%83%B3%E3%83%81%E3%83%91%E3%82%BF% E3% 83% BC% E3% 83% B3-Bill-Karwin / dp / 4873115892)
Negative Spirale, die die Entwicklung von Datenbankanwendungen brennt
Checkliste zur Vermeidung von "SQL Anti-Pattern" ① (logisches DB-Design)
[Datenmodelldesign und Best Practices (Teil 2) --Talend](https://www.talend.com/jp/blog/2019/05/20/data-model-design-best-practices-part-2 /)
Was passiert, wenn Sie das Modell richtig entwerfen - SlideShare
Verhindern Sie, dass Informationen auslaufen.
Siehe das Festschreibungsprotokoll auf GitHub. Es ist leicht zu verstehen, welche Absicht der Entwickler hat und welcher Quellcode sich auf das fertige Modul bezieht.
Lesen von Quellcode in großem Maßstab
Lesen des Quellcodes für Anfänger
Dies ist eine der Methoden, nicht die Art von "Mach es in dieser Phase". Der menschliche Kopf ist eine mysteriöse Sache, und es ist leicht, sich daran zu erinnern, was ich getan habe, während ich so viele Teile meines Körpers wie möglich benutzt habe. Ich denke, dass die Tatsache, dass viele Menschen Manuskriptpapier gegenüber Computertastaturen bevorzugen, nicht nur ein nostalgisches Hobby ist, sondern so etwas.
Deshalb ist es sehr schwierig, am Körper zu bleiben, nur um auf einem Monitor zu lesen. Lesen Sie also beim Umschreiben. Dann gewöhnt sich der Körper oft ziemlich schnell an den Code. Wenn Sie einen Namen oder Code finden, den Sie nicht mögen, schreiben Sie ihn neu. Schwer verständliche Abkürzungen können durch Wörter ersetzt werden, die nicht abgekürzt oder aufgeschrieben sind.
Lassen Sie beim Umschreiben natürlich die Originalquelle separat. Wenn Sie der Meinung sind, dass Tsuji unterwegs nicht übereinstimmt, überprüfen Sie die Originalquelle. Andernfalls leiden Sie stundenlang unter Ihren eigenen einfachen Fehlern.
Umschreiben und verschieben Ähnlich wie im vorherigen Abschnitt, aber hier werden wir das Programm tatsächlich ausführen. Versuchen Sie beispielsweise, die Parameter und den Code an einer Stelle zu ändern, an der die Operation schwer zu verstehen ist. Dann ändert sich natürlich das Verhalten, sodass Sie erraten können, was der Code bedeutet.
Natürlich sollten Sie die ursprüngliche Binärdatei beibehalten und für beide dasselbe tun.
Aus meiner Erfahrung denke ich, dass das Ändern und Überprüfen des Betriebs die Programmierkenntnisse verbessern kann, und es wird besonders Anfängern empfohlen. Ich habe jedoch festgestellt, dass ich die Änderungen nicht rückgängig machen und mit einem Fehler ungeduldig werden kann. Da ich Angst vor dem Fehler habe, höre ich auf zu versuchen und verpasse die Wachstumschance. Als Lebensader werde ich im Folgenden beschreiben, wie die Änderung abgebrochen werden kann.
Praktisch, da Sie die DB-Migration und die Dateierstellung löschen können
git checkout .
git clean -df .
Sie können die Hypothese testen, wie Bibliotheken und Methoden funktionieren
rails c --sandbox
Zusammenfassung, wie man dem Quellcode folgt, wie man ihn liest und Tipps
[4 Möglichkeiten, den vom Programmierer gelehrten Quellcode zu lesen! ](Https://medium.com/traveloco-tech/%E3%81%8A%E3%81%A3%E3%81%95%E3%82%93%E3%83%97%E3%83%AD % E3% 82% B0% E3% 83% A9% E3% 83% 9E% E3% 83% BC% E3% 81% 8C% E6% 95% 99% E3% 81% 88% E3% 82% 8B-% E3% 82% BD% E3% 83% BC% E3% 82% B9% E3% 82% B3% E3% 83% BC% E3% 83% 89% E3% 82% 92% E8% AA% AD% E3% 82% 80% E3% 81% 9F% E3% 82% 81% E3% 81% AE% EF% BC% 94% E3% 81% A4% E3% 81% AE% E6% 96% B9% E6% B3% 95-2c6a2dd28bda) [Für neue Programmierer] Lesen Sie den Quellcode (2/2)
Das war's vorerst. Außerdem werde ich diesen Satz von Zeit zu Zeit aktualisieren, abhängig von Kommentaren von außen und dem Grad meines eigenen Wachstums.
Recommended Posts