Thread Unterschiedliches Verhalten lokal/Internet: Im Internet wie erwartet, auf lokalem ko
(16 answers)
Opened by Barnabas at 2007-06-04 16:52
genau; mit der Verwendung von globalen Variablen holst du dir mehr oder weniger verdeckte Schnittstelle zu Subroutinen ins Haus, die die Analyse und Wartung von Code erschweren, gerade wenn ein Programm etwas groesser wird.
Besser lokale Variablen verwenden und alles als Parameter uebergeben, dann ist jede Subroutine eine BlackBox mit klaren Schnittstellen (Parameter, Rueckgabeparameter) und von aussen unabhaengig. Wenn du da drinnen was aenderst, braucht du nicht bei jeder Variable das ganze Programm ueberpruefen, ob die schon wo verwendet wird und ob du sie verwenden kannst, ohne eine andere Funktionalitaet zu behindern. Und die lokalen Variablen immer im kleinstmoeglichen Block definieren, also nicht sondern Code: (dl
)
while( my $var = <$FH> ) { usw. Wenn man globale Variablen z.B. fuer Caching zu brauchen scheint, kann man fast immer zumindest Closures verwenden: Code: (dl
)
1 { # closure-block oder noch besser, mit Referenzen oder gar Objekten arbeiten perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/ |