VB编程的八个优良习惯 
1、"&"替换"+"  
2、变量命名大小写,语句错落有秩,源代码维护方面  
3、请养成以下的“对象命名约定”良好习惯 
4、在简单的选择条件情况下,使用IIf()函数  
5、尽量使用Debug.Print进行调试  
6、在重复对某一对象的属性进行修改时,尽量使用With....End With  
7、MsgBox中尽量使用消息图标,这样程序比较有规范  
8、在可能的情况下使用枚举  
1、"&"替换"+" 
在很多人的编程语言中,用“+”来连接字符串,这样容易导致歧义。良好的习惯是用“&”来连接字符串.  
不正确:  
Dim sMessage As String 
sMessage = "1" + "2"  
正确:  
Dim sMessage As String 
sMessage = "1" & "2"  
注意:"&"的后面有个空格 
2、变量命名大小写,语句错落有秩,源代码维护方面 
下面大家比较一下以下两段代码:  
读懂难度很大的代码: 
Dim SNAME As String 
Dim NTURN As Integer 
If NTURN = 0 Then 
If SNAME = "vbeden" Then 
Do While NTURN < 4 
NTURN = NTURN + 1 
Loop 
End If 
End If  
容易读懂的代码: 
Dim sName As String 
Dim nTurn As Integer 
If nTurn = 0 Then 
   If sName = "vbeden" Then 
      Do While nTurn < 4 
          nTurn = nTurn + 1 
      Loop 
   End If 
End If 
[返回索引] 
3、请养成以下的“对象命名约定”良好习惯 
推荐使用的控件前缀 
控件类型 前缀 例子  
3D Panel  pnl pnlGroup  
ADO Data ado adoBiblio  
Animated button ani aniMailBox  
Check box chk chkReadOnly  
Combo box, drop-down list box cbo cboEnglish  
Command button cmd cmdExit  
Common dialog  dlg dlgFileOpen  
Communications  com comFax  
Control (当特定类型未知时,在过程中所使用的) ctr ctrCurrent  
Data dat datBiblio  
Data-bound combo box dbcbo dbcboLanguage  
Data-bound grid dbgrd dbgrdQueryResult  
Data-bound list box dblst dblstJobType  
Data combo dbc dbcAuthor  
Data grid dgd dgdTitles  
Data list dbl dblPublisher  
Data repeater drp drpLocation  
Date picker dtp dtpPublished  
Directory list box dir dirSource  
Drive list box drv drvTarget  
File list box fil filSource  
Flat scroll bar fsb fsbMove  
Form frm frmEntry  
Frame fra fraLanguage  
Gauge gau gauStatus  
Graph gra graRevenue  
Grid grd grdPrices  
Hierarchical flexgrid flex flexOrders  
Horizontal scroll bar hsb hsbVolume  
Image img imgIcon  
Image combo imgcbo imgcboProduct  
ImageList ils ilsAllIcons  
Label lbl lblHelpMessage  
Lightweight check box lwchk lwchkArchive  
Lightweight combo box lwcbo lwcboGerman  
Lightweight command button lwcmd lwcmdRemove  
Lightweight frame lwfra lwfraSaveOptions  
Lightweight horizontal scroll bar lwhsb lwhsbVolume  
Lightweight list box lwlst lwlstCostCenters  
Lightweight option button lwopt lwoptIncomeLevel  
Lightweight text box lwtxt lwoptStreet  
Lightweight vertical scroll bar lwvsb lwvsbYear  
Line lin linVertical  
List box lst lstPolicyCodes  
ListView lvw lvwHeadings  
MAPI message mpm mpmSentMessage  
MAPI session mps mpsSession  
MCI mci mciVideo  
Menu mnu mnuFileOpen  
Month view mvw mvwPeriod  
MS Chart ch chSalesbyRegion  
MS Flex grid msg msgClients  
MS Tab  mst mstFirst  
OLE container ole oleWorksheet  
Option button opt optGender  
Picture box pic picVGA  
Picture clip clp clpToolbar  
ProgressBar prg prgLoadFile  
Remote Data rd rdTitles  
RichTextBox rtf rtfReport  
Shape shp shpCircle  
Slider sld sldScale  
Spin spn spnPages  
StatusBar sta staDateTime  
SysInfo sys sysMonitor  
TabStrip tab tabOptions  
Text box txt txtLastName  
Timer tmr tmrAlarm  
Toolbar tlb tlbActions  
TreeView tre treOrganization  
UpDown upd updDirection  
Vertical scroll bar vsb vsbRate  
-------------------------------------------------------------------------------- 
推荐使用的数据访问对象 (DAO) 的前缀 
用下列前缀来指示数据访问对象  
数据库对象 前缀 例子  
Container con conReports  
Database db dbAccounts  
DBEngine dbe dbeJet  
Document doc docSalesReport  
Field fld fldAddress  
Group grp grpFinance  
Index ix idxAge  
Parameter prm prmJobCode  
QueryDef  qry qrySalesByRegion  
Recordset rec recForecast  
Relation rel relEmployeeDept  
TableDef tbd tbdCustomers  
User usr usrNew  
Workspace wsp wspMine  
-------------------------------------------------------------------------------- 
应用程序频繁使用许多菜单控件,对于这些控件具备一组唯一的命名约定很实用。除了最前面 "mnu" 标记以外,菜单控件的前缀应该被扩展:对每一级嵌套增加一个附加前缀,将最终的菜单的标题放在名称字符串的最后。下表列出了一些例子。 
推荐使用的菜单前缀  
菜单标题序列 菜单处理器名称  
File Open mnuFileOpen  
File Send Email mnuFileSendEmail  
File Send Fax  mnuFileSendFax  
Format Character mnuFormatCharacter  
Help Contents mnuHelpContents  
当使用这种命名约定时,一个特定的菜单组的所有成员一个接一个地列在 Visual Basic 的“属性”窗口中。而且,菜单控件的名字清楚地表示出它们所属的菜单项。 
为其它控件选择前缀 
对于上面没有列出的控件,应该用唯一的由两个或三个字符组成的前缀使它们标准化,以保持一致性。只有当需要澄清时,才使用多于三个字符的前缀。 
常量和变量命名约定 
除了对象之外,常量和变量也需要良好格式的命名约定。本节列出了 Visual Basic 支持的常量和变量的推荐约定。并且讨论标识数据类型和范围的问题。 
变量应该总是被定义在尽可能小的范围内。全局 (Public) 变量可以导致极其复杂的状态机构,并且使一个应用程序的逻辑非常难于理解。全局变量也使代码的重用和维护更加困难。 
Visual Basic 中的变量可以有下列范围 
范围 声明位置 可见位置  
过程级 过程,子过程或函数过程中的 ‘Private' 在声明它的过程中  
模块级 窗体或代码模块(.frm、.bas )的声明部分中的 ‘Private' 窗体或代码模块中的每一个过程  
全局 代码模块(.bas)的声明部分中的 ‘Public' 应用程序中的每一处  
在 Visual Basic 的应用程序中,只有当没有其它方便途径在窗体之间共享数据时才使用全局变量。当必须使用全局变量时,在一个单一模块中声明它们,并按功能分组。给这个模块取一个有意义的名称,以指明它的作用,如 Public.bas。 
较好的编码习惯是尽可能写模块化的代码。例如,如果应用程序显示一个对话框,就把要完成这一对话任务所需要的所有控件和代码放在单一的窗体中。这有助于将应用程序的代码组织在有用的组件中,并减小它运行时的开销。