jimcaiad大虾那请问
Option Explicit Sub aasd() Dim aa As Integer aa = 12 MsgBox aa, vbOKOnly End Sub
这样的句子能通过但你读的懂吗?你如果说我是诚心写错的!但如果要写稍微大点的程序要好几W字的代码?中间肯定思路有时会被打乱!难道这种事不太可能发生吗?对以后的检查和整理也是个不小的挑战,难道不是吗?
又或者
Option Explicit Sub aasd() Dim aa As String aa = 12 aa = aa + 12 MsgBox aa, vbOKOnly End Sub
请问我定义的"aa"是字符串,但他咋会能加减乘除了呢?以小弟的笨想法那还不如不加Option Explicit来的干脆呢!这样声明了还容易造成以后的检查误解呢!
xufen发表于2004-10-28 13:59:00jimcaiad大虾那请问
Option ExplicitSub aasd()Dim aa As Integeraa = 12MsgBox aa, ...
对于你这样水准的人我无话可说,连起码的命名惯例都不能遵守你的代码一塌糊涂就是一定的。就你这样的还写好几w字的代码,不可想象。。。写VB程序最基本的惯例,一个变量取名其前缀必须说明它的数据类型,比如intBirthYear, dblPinDiameter,dteOrderDate等等,这样就绝对不会不清晰。类似的,比如form也要遵守类似的如frmStartup, textbox tbxInput, 同样,subroutine和function的命名也必须有前缀如srtCalculate和fucConvert,这样随便多少行的代码也不会弄不清了。数据类型的转换惯例也是用相应的函数来进行,比如下面是我前几天编的算插销直径的小程序
Private Sub txtInput_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
Dim dblTension As Double Dim intPindia As Integer dblTension = Val(txtInput.Text) intPindia = Int(2.31 * Sqr(dblTension))+1 lblPin.Caption = intPindia & " mm" End Sub