| Tip 1: Option Explicit
Tip 2: Dim Tip 3: Variabelnamen |
Tip1: Option Explicit
Gebruik zeker het statement Option Explicit vooraan. Het zorgt
ervoor dat typfouten in de namen van variabelen automatisch opgespoord
worden. Anders kunt u code krijgen die feilloos compileert, maar... van
geen kanten werkt.
Vooral langere variabelnamen kunnen als eens verkeerd getypt worden.
Kijk bijvoorbeeld eens welke van de 3 variabel-namen verkeerd is geschreven:
Dim strAdresKlant1Nummer as StringZiet u het niet? Spiek dan even in de oplossing1)strAdresKlant1Nummer
2)strAdresKlant1Nummer
3)strAdresKlantlNummer
U kunt ervoor zorgen dat deze statement automatisch in uw programma
wordt geplaatst:
kijk of de optie "Require Variable Declaration" in het menu onder
Tools / Options / tabblad Editor aangeklikt is.
Tip 2: Dim-statement
In oudere Basic-versies was
Dim a,b as integer en Dim a as integer,b as integer
hetzelfde.
Maar in Visual Basic niet!
In het eerste geval wordt a als een variant-type gedeclareerd en b als integer. In het tweede geval zijn a en b beide integers.
So what? zult u zeggen. Nochtans is er een groot verschil. Het variant-type
rekent namelijk veel langzamer als het integer type. Vooral in de gecompileerde
versie van een programma wordt dit heel duidelijk. Het programma met de
Mandelbrot- en Juliafiguren, zou enkele malen trager worden!
Probeer het zelf eens uit. Gebruik bijvoorbeeld eens de volgende code
in een eenvoudig project.
Option ExplicitHet programma voert twee in elkaar geneste for-next-lussen uit. We meten de tijd voor het uitvoeren van een dubbele lus met de datevariabele t.
Dim a, b
Dim c As Integer, d As Integer
Dim t As DatePrivate Sub Form_Click()
' met variant-variabelen
t = Time()
For a = 0 To 1000
For b = 0 To 10000
Next b
Next a
Print Format((Time() - t), "0.00000000")' met integer-variabelen
t = Time()
For c = 0 To 1000
For d = 0 To 10000
Next d
Next c
Print Format((Time() - t), "0.00000000")
End Sub
De tweede dubbele lus is dus ongeveer 8-maal sneller.....!!!
Tip 3: Variabelnamen
Gebruik zinvolle namen voor variabelen, zoals Dim intTeller as Integer
of Dim strAdresKlant as String bijvoorbeeld. Deze manier geeft het
type en de betekenis van een variabele weer, en maakt het programma duidelijk
leesbaar, ook na jaren!
Het volgende statement is dus volstrekt af te keuren:
Dim a, a1, c3,c5,ab2,c7,d8,a9 as integer ..... wie begrijpt daar de bedoeling van? Zelfs de programmeur weet na een week beslist niet meer waarvoor elke variabele nodig was.... (trouwens de eerste variabelen zijn zelfs geen integers maar variant-types. Zie voorgaande tip.)
Een uitzondering kunt u maken als u een eenvoudig for-next-lusje gebruikt. Als teller worden dan meestal de namen i, j, k,... gebruikt.
Oplossing Tip1
In de derde variabel-naam staat een kleine letter
L in plaats van een cijfer 1 in de eerste twee:
1) strAdresKlant1Nummer
2)strAdresKlant1Nummer
3)strAdresKlantlNummer
Zonder de optie Option Explicit ingeschakeld zoekt u zich gegarandeerd rot....