Unsere Datenschutzrichtlinie wird in Kürze aktualisiert. Bitte sehen Sie sich die Vorschau an.

Visual Basic Grundkurs

Option Explicit und Option Strict

Testen Sie unsere 2016 Kurse

10 Tage kostenlos!

Jetzt testen Alle Abonnements anzeigen
Historisch gesehen ist Basic eine lose typisierte Sprache. Doch mit den passenden Einstellungen kann man das Visual Studio veranlassen, die Deklaration und Typvereinbarung bei Variablen zu erzwingen.
04:21

Transkript

Ich habe eine kleine Knacknuss für sie. Sie sollen mir sagen, was an diesem Programm nicht stimmt. Denn ich habe hier ein Konsolenprogramm. Ich weise hier einer Variablen 'z1' einen Wert zu, dann gebe ich den Wert der Variablen aus. Dann mache ich noch ein ReadLine, um die Console offen zu halten. Warum funktioniert das nicht? Warum motzt Visual Studio herum? Wir können das ja mal starten. Und hier unten diese Meldung sagt, 'z1' wurde nicht deklariert. Auf das Objekt kann aufgrund seiner Schutzstufe möglicherweise nicht zugegriffen werden. Das ist meiner Meinung nach sehr wenig aussagekräftige Meldung, aber zumindestens sehen Sie, es gibt hier ein Problem. Ich kann das Problem erstmal beseitigen. Auf zwei Weisen: auf die - aus meiner Sicht gänzlich - falsche Weise, und auf die richtige Weise. Eigentlich, wird das, was ich als erstes mache, genau in die falsche Richtung laufen. Aber ich will mal kurz Ihnen etwas zeigen. Wir haben hier eine Konfigurationsdatei für das Projekt "My Project". Und dort gibt es im Bereich "Kompilieren" die Möglichkeit eine Einstellung "Option Explicit" abzustellen. Speicher das und alles ist gut. Damit läuft das und die Variable, der Wert der Variable, wird ausgegeben. Ist wirklich alles gut? Im Gegenteil, es ist alles schlecht. Es ist eine Altlast von Visual Basic, dass man im Grunde nicht gezwungen wird Variablen zu deklarieren. Denn bei diesem Beispiel habe ich nirgendwo eine Variablen deklariert. z1, was ist z1? z1 ist in dem Moment erst als Variable entstanden, als ich eine Wertzuweisung vorgenommen habe. Ich habe nirgendwo eine explizite Deklaration. Sogenannte lose typisierte Sprachen gestatten sowas. Das ist auch wahnsinnig bequem. Und alles was bequem ist, ist für komplexe Programme schlecht, schlecht, noch schlechter. Denn irgendwann können aus Versehen Variablen entstehen, obwohl sie es gar nicht wollen. Sie können neue Variablen anlegen, ohne dass Sie es geplant haben. Dafür werden die alte Variablen ihren Wert nicht ändern. Sie handeln sich ein Riesenproblem ein, wenn Sie es zulassen, dass Variablen 'on the fly' erzeugt werden. Deswegen sollten Sie auf keinen Fall, never ever, dieses 'Option Explicit' abstellen. Machen Sie aber das wieder an, haben wir wieder das Problem. Na ja, was müssen wir tun, um diesem Problem Herr zu werden. Wir müssen di9e Variable deklarieren. Und alles ist gut. Sie sehen, das Programm wird ausgeführt, es gibt kein Fehler mehr. Ist wirklich alles gut? Nein. Aus meiner Sicht ist es immer noch nicht gut. Es ist besser wie vorher, aber immer noch schlecht. Schlecht, weil ich zu dem Zeitpunkt der Deklaration der Variablen, nicht gesagt habe, von welchem Datentyp diese Variable ist. Ich werde nicht gezwungen dazu. Ob ich jetzt hinschreibe "As Integer" oder nicht, who cares? Es ist eben so, dass es in Visual Basic, in VB.NET eben nicht erzwungen wird. Es sei denn, ... sie gehen noch ein Schritt weiter. Denn es gibt hier noch eine zusätzliche Einstellung bei Kompilieren, die nennt sich "Option Strict". Und die ist standardmäßig auf "off" gestellt. Stellen Sie es auf "on". Ganz wichtige Empfehlung meinerseits. Denn jetzt haben Sie hier ein Problem. Das Visual Studio sagt Ihnen - jo, da ist eine Variable deklariert, aber die ist nicht vom Datentyp festgelegt. Erst in dem Moment, wo Sie sagen, ich möchte das als "Integer" oder so haben, dann ist das System zufrieden. Und alles ist gut. Bei so einem einfachen Beispiel wird es sicherlich nicht deutlich, welche Konsequenzen es hat, wenn man auf die explizierte Deklaration der Variable, inklusive der Festlegung von Datentyp, verzichtet. Aber Sie müssen mir glauben, dass bei etwas komplexeren Programm, es wahnsinnige Schwierigkeiten geben kann wenn Sie nicht gezwungen werden Variablen zu deklarieren und auch im Datentyp festzulegen. Wenn sie nicht nur etwas komplexer sind, sondern richtig komplex, haben Sie eigentlich keine Chance vernünftig ein Programm zu Ende zu bringen, wenn Sie diese Freiheiten, die Visual Basic ihnen im Grunde lässt, ausnutzen. Sie müssen dem System gestatten ihre Fehler, ihren schlechten Programmierstil zu korrigieren, denn nichts anderes ist es. Wenn man nicht deklariert, ist es schlechter Programmierstil. Und wenn man kein Datentyp festlegt, ist es ganz, ganz schlechter Programmierstil. Von daher würde ich dringend empfehlen in jedem Projekt beim Kompilieren sowohl "Option Explicit" als auch "Option Strict" auf "on" zu stellen.

Visual Basic Grundkurs

Entdecken Sie, wie eine der bekanntesten und verbreitetsten Programmiersprachen unter .NET funktioniert.

3 Std. 43 min (51 Videos)
Derzeit sind keine Feedbacks vorhanden...
 
Hersteller:
Exklusiv für Abo-Kunden
Erscheinungsdatum:03.11.2014

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!