Ich verwende den folgenden Befehl, um meinen Perl-Code zu testen:
perl -MB :: Lint :: StrictOO -MO = Lint, alle, oo -M-zirkulär :: erfordern -M-indirekt -Mwarnings :: Methode -Mwarnings :: unbenutzt -c $ Datei
Auf einem System mit einer Perl-Version von weniger als 5.10 benutze ich auch uninit.
Ich benutze auch Perl :: Critic und Perl :: Tidy und habe die passenden rc-Dateien nach meinem Geschmack eingerichtet.
Diese Module haben eine großartige Arbeit geleistet, um mir dabei zu helfen, einige schlechte Angewohnheiten zu brechen, die ich beim ersten Erlernen von Perl gelernt habe.
Gibt es noch mehr Module oder Pragmas, die mich auf der Straight und Narrow zurückwerfen, wenn ich versaut?
Unter Verwendung von Tests und der Test :: * -Modul-Familie und einigen guten Büchern wurde darauf hingewiesen. Diese neuen Informationen haben mich veranlasst, einige Annahmen über die Beziehung zwischen Tests und dem Aufbau von Code Skills zu überdenken. Diese sind alle geschätzt und werden bereits erforscht und verwendet.
Es scheint mir, dass dies zwei getrennte Teile eines Ganzen sind. 'Perl -c', Perl :: Critic und Perl :: Tidy alle Hilfe während des Schreibens von Code und vor der Ausführung des Codes. Devel :: Cover, Devel :: NYTProf und Tests passieren während und nach der Ausführung des Codes.
Gute Entwicklung diktiert einen iterativen Prozess, also werden Tests ausgeführt und Code immer wieder entwickelt, aber wir haben immer noch diese Trennung.
Es scheint mir, dass der Schwerpunkt in den Antworten auf die "während und nach der Ausführung" des Codes gelegt wurde. Auch dies wird sehr geschätzt. Kann ich davon ausgehen, dass ich den "Schreib- und Pre-Execution" -Teil ziemlich gut gemacht habe? Zumindest, wenn es um die Pragmas, Module und Utilities geht.
Ich mache mir Sorgen, dass Sie Perl 5.9 verwenden. Aus zwei Gründen.
Erstens ist es ein bisschen alt. 5.9.0 wurde 2003 veröffentlicht und 5.9.5 (die letzte Version in der 5.9.x-Serie) wurde 2007 veröffentlicht. Seither gab es mehrere hochwertige Versionen von Perl.
Zweitens (und am wichtigsten) ist 5.9 eine instabile Entwicklungsversion von Perl. 5.9 ist im Grunde die Reihe von Experimenten, die schließlich zu Perl 5.10.0 führten. Der einzige Grund dafür ist, dass 5.10 eine stabile Version von Perl ist. Niemand sollte es jetzt überhaupt benutzen.
Sie scheinen Ihren Code nicht zu testen, sondern prüfen nur, ob er kompiliert wird. Ich schlage vor, dass Sie sich Test :: More anschauen (was das Schreiben tatsächlicher Tests leicht macht), Test :: Class (was den Umgang mit sehr großen Test-Suites erleichtert) und Devel :: Cover (um zu sehen, welche Teile Ihres Codes werden von Ihren Tests abgedeckt und welche nicht).
Tags und Links perl code-analysis