Wie verbessere ich meine Fähigkeiten zum Lesen von Code? [Closed]


13

Nun, die Frage steht im Titel: Wie verbessere ich meine Fähigkeiten zum Lesen von Code?

Die Software / Hardware-Umgebung, in der ich derzeit entwickle, ist in Bezug auf die Kompilierungszeiten und die Zeit, die das gesamte System zum Testen benötigt, recht langsam. Das System ist ziemlich alt / komplex und daher ist es in naher Zukunft nicht möglich, es in mehrere kleinere, besser verwaltbare Unterprojekte aufzuteilen.

Mir ist klar geworden, dass das, was den Entwicklungsfortschritt wirklich behindert, meine Codelesefähigkeiten sind. Wie verbessere ich meine Codelesefähigkeiten, damit ich die meisten Fehler und Probleme im Code erkennen kann, noch bevor ich die Taste "Kompilieren" drücke, noch bevor ich den Debugger starte?


Ich habe mich mit einem ähnlichen Problem befasst. Unser Team hat beschlossen, Zeit in die Nachrüstung einer sehr großen alten Codebasis für ein neues Build zu investieren, das gemeinsames Caching unterstützt. Wir haben es geschafft, unsere Bauzeiten zu verbessern und die Zuverlässigkeit des Baus erheblich zu verbessern. Wenn Sie die Refaktorisierung nur so weit ausführen können, dass große vorgefertigte Teile Ihrer Anwendung verwendet werden, können Sie auch Bauzeit sparen.
Smithco

1
Wie alle Fertigkeiten wird es nur mit Übung und Ratschlägen von denen, die mehr Erfahrung haben, besser.

Genau wie Sprache lernen. Mehr Code, den Sie lesen, mehr Kenntnisse Ihrer Lesefähigkeiten.
Steven Mou

Antworten:


1

Lesen Sie mehr Code

Zum einen habe ich meine etwas anständigen Fähigkeiten im Lesen von Code durch das Lesen von Zertifizierungsfragen erworben. Diese waren sehr schwer zu befolgen, da sie absichtlich schlecht geschrieben waren

Sie sollen doch Ihre Sprachkenntnisse (in meinem Fall Java) auf die Probe stellen.

Je mehr Code Sie lesen, desto mehr Erfahrung sammeln Sie. So einfach ist das


4

Optimieren Sie Ihre Entwicklungsumgebung so weit wie möglich, damit Sie Feedback erhalten, das Sie verwenden können.

Moderne IDE's können eine Menge helfen, wenn Sie ihnen die notwendigen Informationen liefern können. Beispiele sind:

  • Syntaxfärbung: Konstanten in einer Farbe, Kommentare in einer anderen, Bezeichner in einer dritten, Zeichenfolgen in einer vierten usw. Ich habe kürzlich einen Code gefunden, der ... seltsam ... war. Es stellte sich heraus, dass eine Variable als a bezeichnet wurde konstant wäre - die falsche Farbe hat es verraten.
  • Einfache Kompilierungsfehler abfangen. Die meisten Sprachen haben eine einfache Syntax, die einem Redakteur beigebracht werden kann, sodass Sie frühzeitig über Fehler informiert werden.
  • Erfassen Sie komplexe Kompilierungsfehler. Viele Compiler können Informationsdateien generieren, die in Ihre IDE geladen werden können, damit sie wissen, wie viele Argumente eine bestimmte Funktion usw. benötigt.

Es gibt auch Programme, die logische Fehler in Ihren Programmen identifizieren können, mit denen Sie noch mehr Informationen über Ihr Programm erhalten, aus dem Sie lernen können.

Außerdem kann Ihre IDE Ihnen beim Navigieren in Ihrer Quelle helfen, wenn Sie all diese Dinge kennt. So können Sie problemlos nachschlagen, anstatt sich alles merken zu müssen

Ich schlage vor, dass Sie Ihre Frage bearbeiten, um mehr Informationen über die Umgebung, mit der Sie arbeiten, und die Programme, die Sie schreiben, für bessere Vorschläge bereitzustellen.


1
Auch ein großer Monitor (oder ein breiter, drehbarer Monitor) kann Wunder bewirken, da Sie mehr Code gleichzeitig SEHEN können.

1

Zusätzlich zu dem, was alle anderen gesagt haben, benötigen Sie Geduld, wenn Sie Code lesen möchten (insbesondere, wenn er nicht von Ihnen stammt). Ja, das Lesen pro Codezeile auswendig erfordert Übung, aber alles ist es wert, und Sie lernen auch die Codierungsstile / -tricks anderer. Folgendes überprüfe ich in der Reihenfolge:

  1. Variablennamen, passende Klammern, Importe etc.
  2. Überprüfen Sie, ob die Bedingungen korrekt sind und ob Fehler festgestellt wurden
  3. alles andere - nutzung von funktionen etc.

Ich bin es gewohnt, in einem einfachen Texteditor zu codieren, also ist Strg + F mein Freund, aber eine IDE ist sehr nützlich, besonders wenn Sie aus mehreren Dateien lesen.

Wenn Sie derjenige sind, der den Code schreiben wird, haben Sie keine Angst davor, Leerzeichen, Einrückungen und Kommentare einzufügen. Ehrlich gesagt, wenn es für die Augen nicht angenehm aussieht, wird es zu einem Schmerz im Kopf.


0

Selbst wenn ich alle Fehler erkennen könnte, bevor ich auf "Kompilieren" drücke, würde ich dies dennoch durch Testen und Kompilieren überprüfen. Ich würde dem nur einen positiven Test und ein laufendes Programm zutrauen.

Ich denke, dass gute Fähigkeiten zum Lesen von Code Sie bei der Hypothese über Code sehr weit bringen können. "Wahrscheinlich würde das schief gehen!", Und testen Sie das. Und bei der Suche nach Fehlern "das könnte die Ursache sein, lasst es uns testen"

Der beste Weg dorthin ist, den Code selbst zu schreiben. Der zweitbeste Weg ist, dass der Code einfach wirklich gut ist und sich von selbst erklärt (wenn es wirklich schwer ist, ist der Code einfach nicht so gut)

Wenn es nicht Ihr eigener Code ist und es nicht gut geschrieben ist, ist der einzige Weg, um besser zu werden, zu tun, zu tun, zu tun. Lesen Sie den Code, probieren Sie verschiedene Dinge aus, schreiben Sie Tests dagegen, lernen Sie die Codebasis kennen und überarbeiten Sie sie. Tools könnten hilfreich sein, Tools, die herausfinden können, wo Methoden verwendet werden, wo Schnittstellen implementiert werden, wo Variablen deklariert werden usw. Und Tools, die Ihnen einen Überblick über die Namespaces, ihre Beziehungen und Metriken zu diesen geben.


0

In der Vergangenheit hatte ich ein ähnliches Problem: Mein Trick bestand darin, einen kleinen Test zu schreiben, den Schreibtisch für einige Zeit zu verlassen, zurückzukehren und den Test auf Papier zu simulieren. Auf diese Weise können Sie Ihren Code mit einem neuen Look durchgehen und Sie müssen einen bestimmten Wert überprüfen (anders als wenn Sie Ihren Code durchgehen und sagen: "ahh ... ahh ... ergibt Sinn").


0

Möglicherweise wäre es gut, sich darauf zu konzentrieren, jeweils eine Codelesefähigkeit zu erlernen, genau wie bei formalen Codeüberprüfungen jeder Prüfer eine andere Verantwortung trägt. Nehmen Sie einen Code und verbringen Sie eine Woche damit, nach falschen Variablennamen zu suchen. Drücken Sie den gleichen Code nächste Woche erneut, um nach möglichen Nullzeigern zu suchen. die nächste Woche nach doppelten Codeblöcken suchen; dann Multithreading-Probleme usw.

Nachdem Sie einige Zeit damit verbracht haben, verschiedene Detektoren zu honen, stellen Sie möglicherweise fest, dass Sie jetzt Code mit ein paar oder allen aktiven Detektoren lesen können, sodass Sie bei einer einzigen Lesung ein besseres Gefühl für Code haben.


0

Wenn Sie von Kompilierungsfehlern sprechen, wird dies nicht passieren. Die beste Lösung für Compilerfehler besteht darin, die Person, die den Build gebrochen hat, mit der Überwachung der Builds zu beauftragen, bis jemand anderes den Build bricht. Du hast es kaputt gemacht, du hast es repariert.

Logikfehler lassen sich viel schwerer erkennen als verhindern. Eine Technik, um die einfachen Fälle zu verhindern, besteht darin, Einheiten- / Regressionstests zu schreiben.


0

Ein Tipp, den ich heute Morgen gehört habe (auf SE Radio), war, eine Datei zu nehmen und auf 3pt-Typ zu verkleinern und dann nach Mustern im Text zu suchen. Sie können den Text nicht lesen, es werden jedoch alle Arten von Mustern angezeigt. Es ist eher ein schöner Trick.

Und dies ist einer der Orte, an denen die Kommandozeile dein Freund ist. Grep und pipelines können eine Menge nützlicher Dinge tun.


"Wurde eine Datei genommen und auf 3pt verkleinert?" - Was meinen Sie damit - um die Schriftart im Texteditor in die Schriftart 3pt zu ändern?

Genau, es geht darum, die Form des Textes und nicht die tatsächlichen Wörter zu sehen.
Zachary K

0

Ich war mehrere Jahre Programmierlehrer. In dieser Zeit habe ich viel Zeit damit verbracht, Code zu lesen und zu kommentieren. Dies beinhaltet das Erkennen von Kompilierungsfehlern (wir haben den Code der Schüler nicht immer kompiliert), Logik- und Entwurfsfehlern sowie Standardisierungsproblemen.

Um das gut zu machen, mussten wir ein scharfes Auge für diese Art von Fehlern entwickeln und in der Lage sein, den Code "trocken laufen zu lassen". Diese Art von Aktivität hat mich auch mit vielen Codierungsstilen konfrontiert. Heute sind meine Code-Lesefähigkeiten dank dieser Zeit ziemlich gut.

Mein Vorschlag an Sie lautet also:

  • Überprüfen Sie den Code mit Ihren Kollegen.
  • Ich empfehle, den Code allein zu lesen, bevor Sie mit ihnen darüber nachdenken, damit Sie herausfinden müssen, was der Code für sich selbst bewirkt.
  • Kommentieren Sie die Codestruktur und Sauberkeit, Standards und Logik.
  • Dies verbessert Ihre Codequalität sowie Ihre Code-Lesefähigkeiten.
  • Code Überprüfen Sie Ihren eigenen Code einige Zeit, nachdem Sie ihn fertig codiert haben. Auf diese Weise können Sie ihn "mit neuen Augen" bewerten und aus Ihren Fehlern lernen.

Viel Glück!

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.