2009-08-20 3 views
29

In den letzten fünf Jahren habe ich mit sehr unterschiedlichen Projekten und Systemen gearbeitet. Der Code für diese Projekte unterschied sich signifikant in Bezug auf Qualität, Stil und Größe. Ich sah Beispiele von beiden: saubere sowie widerliche 1000 Linien Funktionen und wenn Bedingungen Code.Wie verbessern Sie Ihr Lesen und Verständnis von Code?

ich immer noch nicht ganz kompetent fühlen anderer Leute Code zu lesen, Systeme Interna verstehen usw.

Ich mag würde, um herauszufinden, welche Techniken Sie Ihre Fähigkeiten beim Lesen verwenden, zu verbessern und andere Leute Code zu verstehen , wie man schnell auf Touren kommt, welche Werkzeuge, Methoden, etc.

Lassen Sie mich diese Antwort geben, dass viele nur Pistole für sie: können Sie Lesecode Fähigkeiten von Code-Lese verbessern

Es gibt einen relevanten Beitrag zur Verbesserung der Programmierkenntnisse, die nützlich sein können und geht weiter Par mit diesem Beitrag: What is the single most effective thing you did to improve your programming skills?

Antwort

29

Die Sache, die mir geholfen hat, mehr als alles andere, hat Refactoring.

Machen Sie ein Projekt (dies kann ein Arbeitsprojekt, ein persönliches Projekt, ein Open-Source-Projekt oder was auch immer sein) und starten Sie das Refactoring.

Mit der Zeit, je mehr Sie den Code anderer Menschen umgestalten, desto besser werden Sie "in den Kopf" gehen und ihre Art zu denken verstehen, ob gut oder schlecht.

3

"Sie können lesen Code Fähigkeiten durch Lesen Code"

Korrigieren.

Welchen Code zu lesen?

Jedes Open-Source-Projekt, das Sie anspricht. Die meisten Open-Source-Kodierungen sind bemerkenswert gut.

Lesen Sie nicht zufällig Code. Lies Dinge, die dir wirklich wichtig sind. Je besser Sie die Problemdomäne verstehen, desto besser können Sie die Lösung, die Sie lesen, schätzen.

22

Ich persönlich glaube, in der

„Jeder Narr kann Code schreiben, der ein Computer verstehen kann. Gute Programmierer Code schreiben, der Menschen verstehen können.“ -Martin Fowler

so meine Annäherung wäre, diese Person zu finden und seinen Kopf weg zu blasen, damit er/er dieses Virus nicht spaged.

5

Abgesehen von der einfachen Erfahrung, die zum besseren Lesen des Codes führt, schlage ich vor, der Anwendung einen Debugger hinzuzufügen, einige Unterbrechungspunkte hinzuzufügen und Daten zu analysieren, während sie durch das System gehen. Auf diese Weise wissen Sie, was vor sich geht, anstatt (logisch oder auf andere Weise) vorauszusetzen, was vor sich geht.

9

Die Dinge, die mir geholfen hat, hat mehr als alles andere und Refactoring getestet. Sie können nicht sagen: "Ich verstehe diesen Code" bis Sie wissen, wie man es mit einem Test brechen.

0

Ich stimme dem Lesen von Open-Source-Codierung zu. Es gibt ein Buch von O'reilly on Beautiful Code - aber es ist meiner Meinung nach scheiße.Ich würde Bücher vorschlagen, die ich zur Vorbereitung von Programmierinterviews gelesen habe, und die oft vorgeschlagen werden (alle Links, die ich verlinkt habe, sind Links zu Google Books:

[Programmierung Perlen] ist ein guter (die neuere Ausgabe , obwohl die Konzepte gleich) sind, [die Praxis der Programmierung] ist ein weiterer Klassiker.

Diese sind ziemlich praktische Bücher mit echten Code Beispiele aus

auch für bereits bestehende Projekte Testcode Praxis schriftlich. Diese hilft Ihnen dabei, genau zu verstehen, was die Funktion macht: Wenn die Ergebnisse nicht Ihren Erwartungen entsprechen, müssen Sie nachdenken warum der Code der Person nicht wie erwartet für diese Tests funktioniert. Stöbern in StackOverflow und sehen, was Menschen mit hohem Ansehen zu sagen haben, hilft immer auch.

7

Lesen Sie nicht nur Open-Source-Code, sondern schließen Sie sich einem an. Auf diese Weise können Sie fragen "warum wurde es so geschrieben" oder einfach nur lesen. Meistens gab es einen Grund dafür, etwas Abnormales zu tun, sei es authentisch oder nicht.

Auch wenn Sie aktiv beteiligt sind, können Sie den Fortschritt der Codebasis sehen. Sie werden den Entwicklungsstil von verschiedenen Menschen kennenlernen. Dies kann Ihrem Gehirn verschiedene Möglichkeiten bieten, durchzugehen, wenn Sie auf ein nicht-verbundenes Projekt stoßen, das Sie durchlesen müssen.

4

Sie lernen schwimmen zu schwimmen, Sie lernen durch Lesen lesen. Versuchen Sie zuerst, kleine Codeschnipsel zu lesen, die von anderen in Ihrem bevorzugten Bereich geschrieben wurden.

Ich begann damit von lesen Python-Codes umcode.activestate.com zu meinen Lieblings-Themen (Mathematik, Algorithmen usw.).

Vorteile: im ersten Versuch

  • Python-Codes sind sauberer so Sie nicht frustriert haben.
  • Beginnend mit kleine überschaubare Sachen Hilfe (eine Menge).
  • Mit Tools wie FREEMIND organisieren Sie Ihre Gedanken auch hilft.
  • Dann können Sie zu komplexeren und schmutzigen Codes weitergehen.
5

2 Dinge insbesondere

Umgestalten Wenn Sie Code zu sehen, die das Wasser von Ihrem IDE murkys auf, es Refactoring, so dass es sinnvoll ist, so es bereit

Kommentar einfach ist, Verwenden Sie das Refactoring, um "wie" zu unterteilen, aber verwenden Sie Ihre Kommentare, um zu zeigen, warum.

Genau wie Steve McConnell in Code Complete 2 sagt, folgen Sie dem Psuedocode Programming Process (in diesem Fall, nachdem der Code geschrieben wurde). Es wird Ihnen und allen zukünftigen Entwicklern helfen, den Code zu lesen.