Wie kann ich lernen, gut zu schreiben-strukturierte Programme in Perl?[geschlossen]

StackOverflow https://stackoverflow.com/questions/410359

  •  03-07-2019
  •  | 
  •  

Frage

Ich habe angefangen zu lernen, Perl, aber die meisten meiner ehemaligen Programmierung Erfahrung in Sprachen, die die Betonung der objektorientierten Programmierung wie C# und Java.Alle Perl-Beispiele, die ich gefunden habe, neigen dazu, lange, einzigen Funktion Programme und finde ich mich selbst code zu schreiben auf die gleiche Weise.Gibt es irgendwelche Ressourcen oder tutorials für das schreiben von wartbarer gut strukturierte Programme?

War es hilfreich?

Lösung

Erstens, unabhängig davon, welche Art von Perl-Programmierung Sie tun, werden Sie wahrscheinlich feststellen Perl :: Critic von unschätzbarem Wert sein. Das Kommandozeilen-Tool ist bei weitem die bequemste für das Erhalten Feedback zu Ihrem Code, aber sie gibt es auch ein Web-Interface wo können Sie Ihre Perl-Code und Sie erhalten umgehend eine automatisierte Feedback hochladen. Beachten Sie, dass Perl :: Critic ist nicht, dass Sie gut zu lehren, gehen Struktur , aber es wird dazu beitragen, verbessern Sie Ihre Stil im Allgemeinen und steuern Sie weg von einigen häufigen Fehlern.

mit Perl :: Critic zu gehen, würde ich empfehlen, eine Kopie Perl Best Practices bekommen (PBP). Es enthält viele detaillierte Informationen, auf denen Perl :: Critic beruhte. Auch wenn Sie mit bestimmten Richtlinien in dem Buch nicht einverstanden ist, macht es Sie denken , wie Sie Code, und das ist sehr, sehr wertvoll. Sie haben kein Geld für ein Buch zu berappen, aber die beiden ergänzen sich sehr gut, und es gibt lange Diskussionen Sie in PBP finden, dass Sie nicht von Perl :: Critic bekommen.

Wenn Sie bereits mit anderen OO-Sprachen und OO-Design gearbeitet haben, werden die Sie wahrscheinlich feststellen, Moose einen komfortablen Übergang zu sein. Elch ist sehr stabil, sehr gut unterstützt, und hat eine große und aktive Community (vor allem via IRC). Moose ersetzt fast alle bestehenden OO Perl Rat gibt, einschließlich meiner eigenen. Objektorientiertes Design ist aus einem Grunde üblich; macht es Sinn, für eine ganze Reihe von Projekten, und es gibt keinen Grund nicht es in Perl zu verwenden.

Persönlich fand ich eine massive Verbesserung in meiner eigenen Programmstruktur, wenn ich zu einem Test-Driven Development Modell bewege. Unter einem solchen Modell ist ein Problem in kleine, leicht getestet Einheiten brechen wesentlich. Beginnen Sie mit Test :: Tutorial , wenn Sie Tests in Perl neu sind und dann schauen bei einigen anderen Testressourcen oder Bücher , wenn Sie mehr erfahren möchten. Verwenden Sie ein Tool wie Devel :: Abdeckung oder Padre, der Perl-Editor .

Wenn (aus irgendeinem Grund) Sie können nicht mit einem anderen Projekt einlassen, dann erwägen, Code-Beispiele zu Communities wie Stack-Überlauf Posting oder

Andere Tipps

Wenn Sie OO Perl sind Lernen Sie auch auf die nächste große Sache weitergehen könnte und dem Lernen beginnen Moose .

Moose ist ein postmodernes Objektsystem für Perl 5, die die Langwierigkeit Perl aus Schreiben objektorientiert erfolgt. Es leiht sich die besten Eigenschaften von Perl 6, CLOS ( Lisp ), Smalltalk , Java, BETA , OCaml , Ruby und mehr, während immer noch wahr zu halten, um seine Perl 5 Wurzeln.

Moose sind zu 100% der Produktion bereit und in der harten Einsatz in einer Reihe von Systemen und wächst jeden Tag.

Wenn Sie bereits wissen, wie gut strukturierte Programme zu schreiben, und Sie möchten, schreiben gut strukturierte Perl, aber das einzige Hindernis für das ist die Fülle von alten, crufty, Spaghetti-Code-Beispiele, die um das Netz verstreut sind und sich weigern, zu sterben ...

Ignorieren Sie die Beispiele. Oder zumindest ihre schlechte Struktur ignorieren und nur achten Sie auf die kleinen syntaktischen Bits, die Sie brauchen zu lernen.

Es gibt nichts in Perl, die Sie schlechten Code schreiben schiebt. Wenn Sie bereits wissen, wie gut Code in anderen Sprachen zu schreiben, dann können Sie genau die gleichen Prinzipien und Praktiken in Perl anwenden. Es ist nur eine Frage der Disziplin, genau wie in jeder anderen Sprache.

Wenn Sie das Gefühl haben bereits die Grundlagen lernen und wollen Programmstruktur verbessern, dann würde ich diese Bücher vorschlagen, wahrscheinlich am besten in dieser Reihenfolge zu lesen:

  • Intermediate Perl - dies ist wahrscheinlich der Ort zu starten für das, was Sie fragen, über; umfasst die Entwicklung und Perl-Module (wichtig für eine gute Struktur), Referenzen, komplexe Datenstrukturen, OO und mehr

  • mit
  • Perl Medic: Transforming Legacy-Code - zeigt gut strukturiert Perl zeigt, wie zu reparieren schlecht strukturierte Perl

  • Effective Perl-Programmierung: Writing bessere Programme mit Perl - ein Klassiker, aber immer noch nützlich; voll von Perl Idiome, die Sie schreiben mehr Perl-ish Perl helfen; nicht viel auf OO, sondern erstreckt sich auf mehr grundlegende Kodierungsstrukturen Code prägnanter und doch ausdrucksvoller zu machen. Ich denke, dies als das Buch, das mich von Perl Alphabetisierung Perl Geläufigkeit bekam

Alle drei sind am besten, wenn Sie mit einfachen Perl-Syntax bequem haben, aber keiner von ihnen bekommen weit in esoterischen fortschrittliche Konzepte, die Sie nicht folgen können, wenn Sie noch in Perl aber haben Erfahrung angemessene Programmierung in anderen anfangen Sprachen bereits.

Neben den genannten Quellen oben ich das Buch sehr empfehlen "Higher-Order Perl" von Mark Jason Dominus. Wenn Sie es sich leisten können es kaufen, sonst wird der Autor das Buch kostenlos auf seiner Website, wie in Freibier gesetzt hat, direkten Download-URL (1,9 MB)

Edit:

Ich habe vergessen, Perl Design Patterns zu erwähnen. Die PerlDesignPatterns Website ist eine sehr gute Ressource oder Referenz für Muster Perl Design zu lernen.

Persönlich, ich nicht schreiben gute OO-Perl, bis ich angefangen, Java zu lernen.Ich empfehle Ihnen, verbringen eine kleine Menge von Zeit für das erlernen OO in einen true-OO-Sprache und anwenden, was Sie lernen, um Perl.

Für einen Ort betreut, PerlMonks ist GROß.

Schreiben Sie Perl, wie Sie C schreiben würde, obwohl Sie die Vorteile der einige Dinge BEGIN Blöcke und Module nehmen sollte. Es sollte so formatiert, dass es mehr oder weniger wie im alten Stil K & R C-Code sieht.

Wie für Struktur, lassen Sie die OO Zeug und Stil als ADTs statt:

http://en.wikipedia.org/wiki/Abstract_data_type

Sie Grundsätzlich dies tun, indem unter Verwendung von Daten-Strukturen, in denen Sie Objekte in OO verwendet haben würden (und die Algorithmen in ihre eigenen Funktionen Aussondern).

Dann holt nur ein Weg, Dinge zu tun und dabei zu bleiben, Konsistenz ist wichtig, um die Lesbarkeit.

Wenn Sie es schaffen, dass der Code kann sowohl lesbar und leicht verständlich sein.

Paul.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top