När man använder Option Explicit måste man då "dimma" alla sina RecSet också alltså inte bara variablarna? Och tjänar namn något på att använda Set variabelNamn = Nothing när man användt klart variablen?
Har ett problem när jag använder Option Explicit Jag måste ju sätta alla variablar men hur gör jag när jag ska använda en funktion som kollar texten? Kanske ska nämna att jag inkluderar filen som gör kollen av texten.
function kontrollText(Text)
Sen för att skriva ut texten:
kontrollText(Rs("fraga"))
Felmeddelandet när jag inte sätter variablen:
Microsoft VBScript runtime error '800a01f4'
Variable is undefined: 'kotrollText'
Med Dim:
Microsoft VBScript runtime error '800a000d'
Det finns vissa argument för att Option Explicit ökar prestanda, när det handlar om stora/intensiva exekveringar, men jag vågar inte svara på hur mycket eller hur.
Option Explicit ändrar i sig inte prestandan nämnvärt. Däremot är man ju tvungen att deklarera alla variabler, vilket kan ge en viss prestandaökning. (Antagligen ganska liten dock, eftersom VB är ett högnivåstråk)
Nej, självklart ökar inte själva metoden Option Explicit prestanda, men eftersom den tvingar fram deklarering, som du säger, så blir det ju indirekt så.
Det är alltså bra att köra Option E när man utvecklar, för att det skall bli så bra som möjligt, men inte när sidan skall släppas? För de e väl lika bra om användarna inte kan se felmeddelandena.
Felen som kommer när man kör med Option Explicit är endast när variabler är odeklarerade. Och man släpper sällan en sida utan att deklarera en variabel.
Och gör man det så är det bättre att ett fel kommer direkt än att man får mystiska fel som är svåra att hitta.
Jag har hört att användande av Option Explicit faktiskt ska ge bättre prestanda eftersom att VBScript-motorn inte behöver leta efter odeklarerade variabler utan förutsätter att alla är deklarerade. Men inget jag fått från någon tillförlitlig källa. :)
Jag anser i alla fall att man alltid bör använda sig av Option Explicit. Finns inga nackdelar som jag ser det! :)
Jag har hört att användande av Option Explicit faktiskt ska ge bättre prestanda eftersom att VBScript-motorn inte behöver leta efter odeklarerade variabler utan förutsätter att alla är deklarerade. Men inget jag fått från någon tillförlitlig källa.
Jag har även hört att VBScript-motorn inte behöver reservera platsminne för odeklarerade variabler, utan endast för deklarerade, när man använder Option Explicit.
When Option Explicit is used, all variables must be explicitly declared before being used. This greatly enhances readability and prevents an entire class of silly typographical errors and bugs that can occur when Option Explicit is not used. Not only does Option Explicit lead to more readable and maintainable code, Option Explicit also increases performance by up to 10%! There is no reason why you shouldn't use Option Explicit on every ASP page!
Perhaps more important, it turns out that declared variables are faster than undeclared variables. Under the covers, the scripting run time references undeclared variables by name, every time they are used. Declared variables, on the other hand, are assigned an ordinal, either at compile time or run time. Subsequently, declared variables are referenced by this ordinal. Since Option Explicit forces variable declaration, it insures that all variables are declared and thus will be accessed quickly.