日期:2012-12-17  浏览次数:20561 次

Visual Basic编程规范

1.      Visual Basic IDE(集成开发环境)设置

       必须打开设置选项的“要求变量声明”,“对齐控件到网格”,“自动缩进”开关。        Tab的宽度统一为4个空格,网格单位一律设为:width 60 height 60。

2.     命名约定

       (注意:在任何时候,不能使用中文及全角字符,只允许使用英文字母、下划线和数字)

2.1          工程的命名

       ActiveX控件和DLL工程命名格式为(….Lib),EXE工程直接命名,如果是通用组件工程,直接命名,如果是项目或产品工程,则使用项目或产品缩写作为前缀。如:XWY….Lib。        工程命名不必缩写,为了表达意思和用途,可以尽可能地长,而且命名格式采用 (名词) 、 (形容词 + 名词) 或 (名词 + 动作的名词形式)。如: StockOperationLib或StockLib。

2.2          变量的命名

    程序中的变量遵循匈牙利表示法,即“前缀+变量含义”,变量的含义为一个或多个英文单词,每个单词的第一个字母大写。变量前缀为三个小写字母示意其类型,所需添加的前缀遵循微软在MSDN中的建议。列表如下:   对于一般的计数器变量定义,应该尽可能地简单,如:Dim i As IntegerFor i = 0 to 100Next 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

 

 

 

2.3          控件的命名

       控件命名一律使用控件类型缩写+控件用途的命名方式,缩写规则同变量命名,以下是常用控件的类型缩写,应该严格遵守。如果使用了新的控件(包括升级版本),必须向公司提出申请,经评审通过后,协同一致其类型名称缩写,再进行使用。 控件类型前缀列表

控件

前缀

举例

ADO Data

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

NumEditBox

nm

 

OLE container

ole

olePhoto

Option button

opt

optSpanish

Panel

pnl

pnlSettings

Picture box

pic

PicDiskSpace

Picture clip

clp

ClpToolbar

ProgressBar

prg

prgLoadFile

Report

rpt

 

Scroll bar

sbr

 

Shape

shp

ShpCircle

Slider

sld

sldScale

Spin

spn

 

StatusBar

st

 

ToolBar

tb

&nbs