
Visual Basic编程规范
必须打开设置选项的“要求变量声明”,“对齐控件到网格”,“自动缩进”开关。
Tab的宽度统一为4个空格,网格单位一律设为:width 60 height 60。
(注意:在任何时候,不能使用中文及全角字符,只允许使用英文字母、下划线和数字)
ActiveX控件和DLL工程命名格式为(….Lib),EXE工程直接命名,如果是通用组件工程,直接命名,如果是项目或产品工程,则使用项目或产品缩写作为前缀。如:XWY….Lib。
工程命名不必缩写,为了表达意思和用途,可以尽可能地长,而且命名格式采用 (名词) 、 (形容词 + 名词) 或 (名词 + 动作的名词形式)。如: StockOperationLib或StockLib。
程序中的变量遵循匈牙利表示法,即“前缀+变量含义”,变量的含义为一个或多个英文单词,每个单词的第一个字母大写。变量前缀为三个小写字母示意其类型,所需添加的前缀遵循微软在MSDN中的建议。列表如下:
对于一般的计数器变量定义,应该尽可能地简单,如:
Dim i As Integer
For i = 0 to 100
Next i
范围标识:
全局变量加前缀:’g_’ 例如:g_strFdbm
模块级变量加前缀:’m_’ 例如:m_strFdbm
过程级变量不加前缀
全局变量和模块级变量应该尽量使用全名称,不推荐使用缩写,如:gEntityManager
常见的变量类型和控件类型前缀如下表所示:
变量类型前缀列表
数据类型 | 前缀 | 示例 |
Boolean | bln | blnLoggedIn |
Currency | cur | curSalary |
Control | ctl | ctlLastControl |
Double | dbl | dblMiles |
ErrObject | err | errLastError |
Single | sng | sngYears |
Handle | hwd | hwdPicture |
Long | lng | lngOnHand |
Object | obj | objUserTable |
Integer | int | intAge |
String | str | strName |
User-defined type | udt | udtEmployee |
Variant (including Dates) | vnt | vntDateHired |
Array | arr | arrEmployees |
数据库对象 | 前缀 | 示例 |
Database | dbs | dbsAccounts |
Recordset | rec | recForecast |
command | cmd | cmdQuery |
connection | con | conSql |
控件命名一律使用控件类型缩写+控件用途的命名方式,缩写规则同变量命名,以下是常用控件的类型缩写,应该严格遵守。如果使用了新的控件(包括升级版本),必须向公司提出申请,经评审通过后,协同一致其类型名称缩写,再进行使用。
控件类型前缀列表
控件 | 前缀 | 举例 |
ado | adoBiblio | |
Animated button | ani | aniMailBox |
Checkbox | chk | chkPrint |
Combo box | cbo | cboTitle |
Command button | cmd | cmdCancel |
Communications | com | comFax |
Data | dat | datBiblio |
Data-bound combo box | dBCBo | dbcboLanguage |
Data-bound grid | dbgrd | dbgrdQueryResult |
Common dialog control | dlg | dlgCommon |
Control | ctr | ctrCurrent |
Directory list box | dir | dirSource |
Drive list box | drv | drvTarget |
DTPicker DropDateControl | dt | |
EnumEditBox | enm | |
File list box | fil | filSource |
Frame | fra | fraLanguage |
Form | frm | frmMain |
Vfgrid | grd | |
Graph | gra | |
Group push button | gPB | gpbChannel |
Hierarchical flexgrid | flex | flexOrders |
Horizontal scroll bar | hsb | hsbVolume |
Image | img | imgIcon |
Image ImageList | img | |
Label | lbl | lblHelpMessage |
Line | lin | linVertical |
List box | lst | lstResultCodes |
ListView | lv | |
MCI | mci | mciVideo |
MDI child form | mdi | mdiContact |
Menu control | mnu | mnuFileOpen |