VBVC编码规范
文件编号
发布日期
11
1. VB
2. VC
版本号:第3                                受控印章:受控
新发布
修改状态
修该页码
修改者
修改时间
生效日期
/
0
/
/
/
2004.06.30
1 VB部分
1.1 控件前缀
控件类型
前缀
例子
3D Panel
pnl
PnlGroup
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 control
dat
DatBiblio
Data-bound combo box
dbcbo
DbcboLanguage
Data-bound grid
dbgrd
DbgrdQueryResult
Data-bound list box
dblst
DblstJobType
Directory list box
dir
DirSource
Drive list box
drv
DrvTarget
File list box
fil
FilSource
Form
frm
FrmEntry
Form Object Variable
frmO
FrmOEntry
Frame
fra
FraLanguage
Gauge
gau
GauStatus
Graph
gra
GraRevenue
Grid
grd
GrdPrices
Horizontal scroll bar
hsb
HsbVolume
Image
img
ImgIcon
Key status
key
KeyCaps
Label
lbl
LblHelpMessage
Line
lin
LinVertical
List box
lst
LstPolicyCodes
MAPI message
mpm
mpmSentMessage
MAPI session
mps
mpsSession
MCI
mci
mciVideo
MDI child form
mdi
mdiNote
Menu
mnu
mnuFileOpen
MS Flex grid
msg
msgClients
MS Tab
mst
mstFirst
OLE
ole
oleWorksheet
Outline
out
outOrgChart
Pen Bedit
bed
bedFirstName
Pen HEdit
hed
hedSignature
Pen ink
ink
inkMap
Picture
pic
picVGA
Picture clip
clp
clpToolbar
Report
rpt
rptQtr1Earnings
Shape
shp
qt listview
shpCircle
Spin
spn
spnPages
Text box
txt
txtLastName
Timer
tmr
tmrAlarm
UpDown
upd
updDirection
Vertical scroll bar
vsb
vsbRate
Slider
sld
sldScale
ImageList
ils
ilsAllIcons
TreeView
tre
treOrganization
Toolbar
tlb
tlbActions
TabStrip
tab
tabOptions
StatusBar
sta
staDateTime
ListView
lvw
lvwHeadings
ProgressBar
prg
prgLoadFile
RichTextBox
rtf
rtfReport
1.2 数据访问对象 (DAO) 前缀
数据库对象
前缀
例子
Container   
con
conReports
Database
db
dbAccounts
DBEngine
dbe
dbeJet
Document
doc
docSalesReport
Field
fld
fldAddress
Group
grp
grpFinance
Index
idx
idxAge
Parameter
prm
prmJobCode
QueryDef
qry
qrySalesByRegion
Recordset
rec
recForecast
Relation
rel
relEmployeeDept
TableDef
tbd
tbdCustomers
User
usr
usrNew
Workspace
wsp
wspMine
1.3 菜单前缀
菜单控件除了最前面 "mnu" 标记以外,菜单控件的前缀应该被扩展:对每一级嵌套增加一个附加前缀,将最终的菜单的标题放在名称字符串的最后。下表列出了一些例子。
菜单标题序列
菜单处理器名称
File
mnuFile
File Open
mnuFileOpen
File Send
mnuFileSend
File Send Email
mnuFileSendEmail
File Send Fax
mnuFileSendFax
   
当使用这种命名约定时,一个特定的菜单组的所有成员一个接一个地列在 Visual Basic 的“属性”窗口中。而且,菜单控件的名字清楚地表示出它们所属的菜单项。
1.4 其它控件前缀
对于上面没有列出的控件,应该用唯一的由两个或三个字符组成的前缀使它们标准化,以保持一致性。只有当需要澄清时,才使用多于三个字符的前缀。
例如,对于派生的或修改的控件象上述那样扩展其前缀,使得在真正使用了哪一个控件的问题上避免混淆。对于第三方控件,应该把制造商的小写缩写名附加到前缀中。例如,从 Visual Basic Professional 3D 框架中创建的一个控件实例可以用 fra3d 这样的前缀,以避免混淆所使用的控件。
1.5 变量、常量范围前缀
范围
前缀
例子
全局
g
gstrUserName
模块级
m
mblnCalcInProgress
本地到过程
dblVelocity
1.6 变量、常量类型前缀
数据类型
前缀
例子
Boolean
bln
blnFound
Byte
byt
bytRasterData
Collection
col
colWidgets
Currency
cur
curRevenue
DateTime
dtm
dtmStart
Double
dbl   
dblTolerance
Error
err
errOrderNum
Integer
int
intQuantity
Long
lng
lngDistance
Object
obj
objCurrent
Single
sng
sngAverage
String
str
strFName
User define type
udt
udtEmployee
Variant
Vnt
vntCheckSum
1.7 描述变量和过程名
变量或过程名的主体应该使用大小写混合形式,并且应该足够长以描述它的作用。而且,函数名应该以一个动词起首,如 InitNameArray CloseDialog
对于频繁使用的或长的项,推荐使用标准缩略语以使名称的长度合理化。一般来说,超过 32 个字符的变量名在 VGA 显示器上读起来就困难了。
当使用缩略语时,要确保它们在整个应用程序中的一致性。在一个工程中,如果一会儿使用 Cnt 一会儿使用 Count,将导致不必要的混淆。
1.8 用户定义的类型
在一项有许多用户定义类型的大工程中,常常有必要给每种类型一个它自己的三个字符的前缀。如果这些前缀是以 "u" 开始的,那么当用一个用户定义类型来工作时,快速识别这些类型是很容易的。例如,ucli 可以被用来作为一个用户定义的客户类型变量的前缀。
1.9 代码注释约定
1.9.1代码注释规范
模块节标题注释如下:
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'@Module Name:  (模块名称)
'@Main Func:    (模块说明)
'@Author:      (作者)
'@Last Modify:  (最后修改时间)
'@Include:      (引用外部接口)
'@Interface:    (模块提供接口)
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''   
举例:frmAccountCard.frm 的程序头注释如下
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'@Module Name:  frmAccountCard
'@Main Func:    科目卡片窗体
'@Author:      张山
'@Last Modify:  2000-06-24
'@Include:
'@Interface:
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
程序接口注释:
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'@Function Name:    (函数名)
'@Main Func:        (函数说明)
'@Author:          (作者)
'@Last Modify:      (最后修改日期)
'@Param:            (用参数)
'@Returns:          (返回值类型)
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
举例:
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'@Function Name:    AddAccount
'@Main Func:        直接增加会计科目
'@Author:          张山
'@Last Modify:      2000-06-23
'@Param:            strAccount  科目字符串
'@Param:            strPath    科目币种数据所在路径
'@Param:            blnIsCopy  由科目复制来标志
'@Returns:          Integer
''
1.10 窗体隐含全局变量
避免使用窗体隐含全局变量,声明自己的窗体变量(例如,Dim dlgAbout As New frmAboutBox)。
1.11 命名属性、方法和事件
尽量用完整的词,不用缩写。缩写可能有许多形式,并因此可能含混。如果完整的单词太
长的话,可以用完整的第一个音节。
对于标识符,可以用大小写混合的写法,每个单词或者音节的首字符大写,例如ShortcutMenus 或者 AsyncReadComplete
对于集合类名,可以用复数写法。如果集合中有以 "s" 结尾的对象,可将单词"Collection"附加在其后面。
    对于方法名,可以比较一致地用动词/对象或者对象/动词的顺序。也就是说,使用 InsertWidgetInsertSprocket,等等,或者总是将对象放在前面,就象例子 WidgetInsert SprocketInsert 那样。
1.12 常数使用
VB中已经定义了常数的情况下,必须采用常数,避免采用数值的使用对程序可读性产生不良影响。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。