Arbeiten mit Strict-Mode

Posted on: 31. Juli 2018
Mit Strict-Mode lernen wir, wie sich der professionelle Coder/Scripter bereits von Anfang an vor seinen eigenen Fehlern schützt.

Der Strict-Mode verhindert auf Variabeln und Eigenschaften zuzugreiffen die entweder nicht initialisiert wurden oder schlicht nicht vorhanden sind. So kannst du ein langes Fehlersuchen verhindern indem du überhaupt nicht Sachen Coden kannst, die so nicht stimmig sind. Ansich eine praktische Möglichkeit, gerade für umfangreichere Scripts.

Hier der Code aus dem Youtube-Video. Die Vorgehensweise und Bemerkungen findest du direkt als Kommentare (#Grün) im Code. So wird er dir ebenfalls in der PowerSHELL ISE angezeigt werden.
——————————————–
# Set-StrictMode ist ähnlich wie in anderen Sprachen OptionExplizit            
# Variablen und Parameter müssen initialisiert werden, befor darauf zugegriffen werden kann            
            
# Bei OFF sind sämtliche überprüfungen ausgeschaltet            
Set-StrictMode -Off            
            
$c = $a + $b             
$c            
            
$c.Test            
            
Write-Host "Hier ist die Variabel `$c $c"            
            
(${get-date})            
            
# Version 1 verhindert eine referenzierung auf eine uninitialisierte Variabel, ausser            
# Uninitialisierte Vairabeln inerhalb von Strings            
            
Set-StrictMode -Version 1.0            
            
$c = $a + $b             
            
Write-Host "Hier ist die Variabel `$c $c"            
            
$a = 5             
$b = 10            
            
$c = $a + $b             
$c            
            
$c.Test            
            
# Version 2, sollte man eigentlich verwenden und ist die härteste Restriktion            
# Verhindert Referenzierung auf uninitialisierte Variabeln, inkl. String-Variabeln            
# Verhindert Referenzierung auf inexistente Eigenschaften von Objekten            
# Verhindert Funktions-Aufrufe, die eine Syntax für Methoden-Aufrufe beinhalten            
# Verhindert Variabeln ohne Namen             
            
Set-StrictMode -Version 2.0            
            
Write-Host "Hier ist die Variabel `$c $c"            
            
(${get-date})            
            
# Version Latest, ist die höchst mögliche Restriktion und somit auch             
# die letzte verfügbare Restriktions-Version.            
            
Set-StrictMode -Version Latest            
            
Write-Host "Hier ist die Variabel `$c $c"            
            
(${get-date})
——————————————–
Solltest du irgendwelche Fragen haben, dann kannst du diese gerne entweder hier im Blog oder direkt unter dem YouTube Video stellen. Ich gebe alles, deine Fragen zeitnahe zu beantworten oder ein entsprechendes Video darüber zu machen.
Gerade die Grundlagen-Videos werde ich nicht mit viel Text ausschmücken. Bei mir ist jeweils jede Code-Zeile direkt im Code Kommentiert (#Grün). Du kannst den Code direkt mit in dein Script kopieren und hast so eine gute Orientierungshilfe, sobald du die Scripts auf deine Bedürfnisse anpasst.

Ich erstelle und veröffentliche sämtliche Videos kostenlos und blende auch keine Werbung ein, dies will ich auch so beibehalten. Da das vermittelte Wissen aber in teuren Kursen erlangt werden kann, ist eine kleine Spende hin und wieder sicher keine schlechte Gegenleistung.