Thread kleiner Terminplaner
(17 answers)
Opened by renee at 2005-08-09 20:38
x) use strict und use warnings sollten eigentlich bei jedem programm pflicht sein; -w war frueher mal gut, aber heutzutage sollte man besser warnings verwenden, weil -w immer global ist (d.h. auch fuer module wirkt, die man selbst gar nicht geschrieben hat), waehrend warnings nur immer im lokalen kontext (z.b. der aktuellen datei) gueltig ist.
x) nochmal zurueck zur datei ".termine": (btw: in strings hat der punkt keine sonderbedeutung; dort brauchst du ihn also nicht zu escapen) du verwendest sie in fast jeder sub; will die nicht in eine eigene Variable? Wenn sich der Namen der Datei aendern sollte, wie viele vorkommen musst du denn jetzt aendern? x) Die Datei liegt immer im aktuellen verzeichnis; was passiert, wenn das script von einem anderen verzeichnis ausgefuehrt wird? (z.B. ../my/script.pl) wohin wird die dann geschrieben? entweder einen fixen pfad vorgeben (z.B. das empfohlene HOME), oder den relativ-absolut zum scriptverzeichnis machen. x) Uebergibst Du nicht gerne Variablen an subroutinen? Bei countdown (my $line=$_;) greifst du einfach auf das globale $_ zu, und hast somit eine verdeckte parameteruebergabe, die unnoetige komplexitaet reinbringt. Am besten finde ich, wenn Subroutinen nur ueber eine klare Schnittstelle mit aussen kommunizieren, und diese schnittstellen sind ein- und ausgabeparameter... x) du oeffnest die datei recht haeufig zum lesen (warum machst du da eigentlich nie eine fehlerabfrage? was passiert, wenn die datei mal nicht vorhanden ist, weil sie im falschen verzeichnis gesucht wird?) und machst danach mehr oder weniger immer dasselbe. koennte man das parsen der datei nicht in eine gemeinsame subroutine auslagern, sodass der code schlanker und klarer wird? perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/ |