ByVal / ByRef 、空/空串/空格 、以及编程代码结构
(创建时间:2011年01月14日 17:58:00)
Jangogo : 

编程人员有扎实的基础知识,很多人对于以下基础概念都没有理解清楚,使得工作中存在很大问题:

1. ByVal / ByRef

     ByVal 值传递

     ByRef 引用传递

    

dim A as Long
A=1000

Sub  F1(ByVal A) 
    A=A+1
End Sub

Sub  F2(ByRef A) 
    A=A+1
End Sub

Sub  F3(A) 
    A=A+1
End Sub

'请问顺序执行以下代码: 
'Call F1(A)   后A的值是?
'Call F2(A)   后A的值是?
'Call F3(A)   后A的值是?
'通过本例中必须深刻理解 ByVal 和 ByRef的区别
'并且必须了解不同语言(VB和JS)的默认的参数传递方式

2. 空/空串/空格

    空 : NULL  表示没有任何东西,在内存里面也不会存在任何东西

   空串: 空字符串 "" , 表示是一个没有字符的字符串,注意,它包含两重意义:1.它的类型是字符串,2.字符串没有字符 (在内存里面已经分配了空间,并且以字符(ASCII=0)结束),字符串长度为0

  空格:  有一个字符的字符串(里面的字符是空格ASCII=32),字符串长度为1

    数据库里面某个字段是否允许为空,说的是是否允许NULL,不是说不允许“空串”,我们说的填入空串不是让你填入一个空格!请务必注意!

3.编程代码结构

'结构一
If a=0 Then
    Call myfunction(a,b)
Else
    Call myfunction(a,c)
End If

'结构二
dim x
If a=0 Then
    x=b
Else
    x=c
End If
Call myfunction(a,x)

'我们强烈要求你的程序结构使用第二种,以增加可读性。特别是条件之间的代码比较多的时候。
'不要习惯性的复制和粘贴代码段,即不要整段的复制和粘贴代码
文档中心