Cruz: use strict, globale Variablen

Beitrag lesen

Hallo Oli,

es unterstützt tatsächlich beide Aspekte, wobei meiner Meinung nach die robustere Programmiertechnick deutlich im Vordergrund liegt. strict beschränkt die Art wie Referenzen verwendet und Variablen deklariert werden. Es kann einige Fälle von Hackversuchen abwehren, wo der Code so stümperhaft geschrieben wurde, dass Eingabeparameter ungeprüft als Referenz auf Subroutinen verwendet werden. Aber wenn man schon soweit ist, dass man strict verwendet, dann sollte man eigentlich über solche Anfängerpatzer hinausgewachsen sein. Viel wesentlicher ist der Aspekt, dass strict dich zur Verwendung von lokalen Variablen zwingt, was einen saubereren Programmierstil herbeiführt. Es gibt dann keine vergessenen, öfter mal wiederverwendeten und für fremde kaum lesbaren globalen Variablen. In der Praxis wird sich strict für dich zu 99% so bemerkbar machen, dass es dir beim Ausführen des Skriptes sagt, wo eine undeklarierte Variable gefunden wurde, was dann meistens ein Tippfehler deinerseits ist. Das spart eine Menge Zeit beim Debuggen, denn ohne strict wird gar nichts gesagt und da kannst oft mal lange suchen, bis dir ein Tippfehler in einer Variablennamen endlich auffällt.

Gruß,
Cruz

Guten Morgen,
immer wieder lese ich die Empfehlungen, "use strict" zu verwenden und die Variablen möglichst nicht global zu definieren.
Hat dies Gründe, die in der Sicherheit des Scripts vor Attacken liegen oder einfach zur Sicherheit vor Fehlern im Programm (Mehrfachverwendung der gleichen Variablen für unterschiedliche Zwecke u.a.) ?
Gruß
Oliver