计算机源代码编写规范VB版本.docx

上传人:b****1 文档编号:15241426 上传时间:2023-07-02 格式:DOCX 页数:13 大小:22.33KB
下载 相关 举报
计算机源代码编写规范VB版本.docx_第1页
第1页 / 共13页
计算机源代码编写规范VB版本.docx_第2页
第2页 / 共13页
计算机源代码编写规范VB版本.docx_第3页
第3页 / 共13页
计算机源代码编写规范VB版本.docx_第4页
第4页 / 共13页
计算机源代码编写规范VB版本.docx_第5页
第5页 / 共13页
计算机源代码编写规范VB版本.docx_第6页
第6页 / 共13页
计算机源代码编写规范VB版本.docx_第7页
第7页 / 共13页
计算机源代码编写规范VB版本.docx_第8页
第8页 / 共13页
计算机源代码编写规范VB版本.docx_第9页
第9页 / 共13页
计算机源代码编写规范VB版本.docx_第10页
第10页 / 共13页
计算机源代码编写规范VB版本.docx_第11页
第11页 / 共13页
计算机源代码编写规范VB版本.docx_第12页
第12页 / 共13页
计算机源代码编写规范VB版本.docx_第13页
第13页 / 共13页
亲,该文档总共13页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

计算机源代码编写规范VB版本.docx

《计算机源代码编写规范VB版本.docx》由会员分享,可在线阅读,更多相关《计算机源代码编写规范VB版本.docx(13页珍藏版)》请在冰点文库上搜索。

计算机源代码编写规范VB版本.docx

计算机源代码编写规范VB版本

计算机源代码编写规范(VB编码规范)

编号:

MPDK/ZY-17-2007

修改号:

0

发放号:

发布时间:

2007-06-28

实施时间:

2007-06-28

编制:

批准:

 

VB编码规范

VB编码规范1

1目的1

2适用范围1

3规范内容2

3.1最低限制的编程规约2

3.2对象的命名基准2

3.3控件的前缀2

3.4数据访问对象(DAO,ADO)的前缀3

3.5菜单的前缀4

3.6其他控件前缀的选择4

3.7常量和变量的命名基准5

3.8变量的有效范围5

3.9变量有效范围的前缀5

3.10常量6

3.11变量6

3.12变量的数据类型6

3.13说明变量和过程用途的名字7

3.14用户自定义类型7

3.15代码编写规约7

3.16代码注释规约7

3.17代码的形式8

3.18常量的分组化9

3.19&运算符和+运算符9

3.20MsgBox、InputBox、以及SQL查询字符串的作成9

1目的

规范ASP代码编写人员的编程工作。

2适用范围

本规约是科大量星的基本编程规约,用于VisualBasic编程。

编程规约不是程序的逻辑,而是作为统一程序的物理结构和外观的基准规约。

编码是如果遵守编程规约,那么代码的阅读理解和维护都将会变成一种乐趣。

编程规约的内容如下:

工程,变量以及过程的命名基准

代码的惯用标签和注释的标准形式

间隔,记述形式以及缩进

编程规约设定的理由是,如果一贯使用某种编程规约,应用程序的风格和结构都是标准化的,代码将很容易理解和维护。

3规范内容

3.1最低限制的编程规约

作为通用的编程规约,规定最低限制的必要条件。

为实现这个目标,同时也是为了程序,程序的逻辑以及车工序的流程能自由的做成。

该规约推荐的基准是一个简单的参考,没有提供对全部的对象和控件的规定。

另外也没有规定注释的全部类型。

对应于工程和组织的各自要求条件,添加以下的要素作为基准:

公司内部开发的或由第三方处购入的特殊对象和控件的命名基准

表示组织的事业内容和设施的变量名

对于工程和公司,容易理解和容易阅读作为一个重要的要素考虑

赋予对象具有一个一惯性使用的前缀的名字,对于方便容易的理解对象的种类是必要的。

在这里推荐控件,数据访问对象和菜单的命名基准。

对于常量和变量的命名基准,列举VisualBasic支持的常量和变量的命名基准推荐例子。

另外,也说明一下数据类型和适用范围的识别。

3.2对象的命名基准

如果一惯性的赋予对象名某个前缀,识别对象的种类就会很容易。

下表中是VisualBasic支持的部分对象命名推荐基准一览。

3.3控件的前缀

控件种类

前缀

CheckBox

chk

chkReadOnly

ComboBox

cbo

cboEnglish

RadioBox

rdo

rdoEnglish

按钮

cmd

cmdExit

对话框

dlg

dlgFileOpen

数据控件

dat

datBiblio

DBCombo

dbcbo

dbcboLanguage

DBGrid

dbgrd

dbgrdQueryResult

DBList

dblst

dblstJobType

DirectoryListBox

dir

dirSource

DriverListBox

drv

drvTarget

FileListBox

fil

filSource

Form

frm

frmEntry

FlexibleGrid

msg

msgClients

Frame

fra

fraLanguage

水平滚动条

hsb

hsbVolume

Image

img

imgIcon

Label

lbl

lblHelpMessage

Line

lin

linVertical

ListBox

lst

lstPolicyCodes

MDISubform

mdi

mdiNote

菜单

mnu

mnuFileOpen

MSFlexibleGrid

msg

msgClients

OLE容器

ole

oleWorksheet

选项按钮

opt

optRed

Picture

pic

picVGA

TextBox

txt

txtLastName

定时器

tmr

tmrAlarm

表1对象命名标准

3.4数据访问对象(DAO,ADO)的前缀

为了识别数据访问对象,使用下表所示的前缀

数据访问对象

前缀

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

表2DAO/ADO对象命名标准

例:

DimdbBiblioAsDatabase

DimrecPubsInNYAsRecordset,strSQLStmtAsString

ConstDB_READONLY=4'常量设定

'打开数据库

SetdbBiblio=OpenDatabase("Biblio.mdb")

'SQL文设定

strSQLStmt="SELECT*FROMPublishersWHEREState='NY'"

'新的Recordset对象做成

SetrecPubsInNY=dbBiblio.OpenRecordset(strSQLStmt,dbReadOnly)

3.5菜单的前缀

应用程序大多使用菜单。

菜单控件的前缀是"mnu"。

命名例子一览如下表所示

菜单标题顺序

菜单控件的名字

[文件][打开]

mnuFileOpen

[文件][送信][电子邮件]

mnuFileSendEmail

[文件][送信][Fax]

mnuFileSendFax

[格式][字符]

mnuFormatCharacter

[帮助][目录]

mnuHelpContents

使用该命名规约,特定的菜单组的成员在VisualBasic的[属性]窗口按照组别的方式排序。

另外菜单控件的名字也明确表示了其所关联的菜单项目。

3.6其他控件前缀的选择

对于上面没有说到的控件,为了保持一惯性,开发者可以决定使用两到三个字母的前缀。

超过三个字母的前缀,如非必要,不要使用。

例如,派生的控件或修改了的控件,可以扩张我们上面所说明了的前缀。

如果是其他公司开发的控件,可以用小写字母拓展前缀。

 

3.7常量和变量的命名基准

不仅对象,对常量和变量的适当命名基准也是必要的。

在这里列举VisualBasic支持的常量和变量的命名基准推荐例子。

另外也说明数据类型和适用范围。

3.8变量的有效范围

变量的有效范围要尽量的小。

若使用全局(Public)变量、程序的状态就会变得复杂,逻辑也有可能变得难以理解。

另外代码的再利用和维护也会变得困难。

VisualBasic变量有效范围一览,入下表示

有效范围

声明

可以引用的范围

过程

过程或函数内'Private'

声明的过程内

模块

Form或代码模块(..frm、.bas)的声明(Declare)'Private'

From和模块内的所有过程和函数

全局

代码模块(.bas)的声明'Public'

应用程序全体

在VisualBasic程序中,没有其他方法在多个Form间共有数据时,才考虑使用全局变量。

在使用全局变量的场合,推荐的方法是,根据变量的机能,对变量进行分组,把所有的变量定义在一个模块中。

编程时,尽可能的使代码模块化。

例如,应用程序弹出对话框的场合,与这个对话框相关联的控制和代码应该全部写在1个Form中。

过程和函数仅仅只操作被传递的对象(全局变量除外)。

没有必要传递全局变量。

过程内使用的全局变量,必须在过程的开头处声明。

另外,处理被传递的参数的之明确会被改变以外,

ByVal的方式传递过程或函数的参数。

3.9变量有效范围的前缀

当工程鞭打时、正在使用的变量的有效范围的识别将变得非常重要。

表示数据类型的前缀的前面加上一个表示有效范围的1个字母的前缀,变量名不会变得太长,而又能识别变量的有效范围。

有效范围

前缀

全局

g

gstrUserName

模块

m

mblnCalcInProgress

过程内

dblVelocity

在标准模块或Form模块中,把变量作为public声明的话,该变量就是全局变量,该变量的有效范围就是模块级的。

注意为了有效的后用这种方法,使用一贯性的前缀很重要的。

3.10常量

常量名使用大写字母书写。

标准的VisualBasic常量名中部含有数据类型和有效范围情报。

在用户定义的常量中,如使用int、str、g、m等前缀的话,常量的值和范围就很容易理解。

常量名可以和变量名用相同的命名基准,如下面的例子。

mintUSERLISTMAX'用户列表的最大数

'(整形,模块内有效)

gstrNEWLINE'新的改行字符

'(字符串,全局变量)

3.11变量

预先声明全部的变量,因为变量类型错误而产生的bug就会减少,那么就会减少编程时间,提高效率。

比如,为防止把aUserNameTmp误作为sUserNameTmp或sUserNameTemp这样的bug,可以把[选项]对话框的[编辑]属性页的[变量强制声明]选中。

根据OptionExplicit声明,VisualBasic会要求所有使用的变量都必须事先声明。

对于变量,名字要加上表时数据类型的前缀。

特别是党程序的规模变得很大时,可以用前缀识别出变量的数据类型。

3.12变量的数据类型

为表示变量的数据类型,可以使用以下的前缀

数据类型

前缀

布尔型(Boolean)

bln

blnFound

字节型(Byte)

byt

bytRasterData

Collection对象

col

colWidgets

通货型(Currency)

cur

curRevenue

日期型(Date)

dtm

dtmStart

双精度浮点型(Double)

dbl

dblTolerance

错误值

err

errOrderNum

整形(Integer)

int

intQuantity

长整形(Long)

lng

lngDistance

对象类型(Object)

obj

objCurrent

单精度浮点型(Single)

sng

sngAverage

字符串(String)

str

strFName

用户自定义类型

udt

udtEmployee

Variant类型

vnt

vntCheckSum

 

3.13说明变量和过程用途的名字

变量和过程名字的主体部分用大写和小写字母书写。

另外变量的名字应该象InitNameArray和CloseDialogIn一仰泳动词开头。

频繁使用的单词或长的单词,可以考虑使用缩写的形式,以缩短变量名字长度。

一般来说变量名的长度超过32个字符,用VGA显示的话,阅读起来就会很困难。

使用省略形式,必须在整个应用程序内统一使用。

比如,在工程内Cnt和Count两种表示方法时,就有可能产生混淆。

3.14用户自定义类型

在多数使用用户自定义类型的大规模工程中,对各个类型使用固有的三个字母的前缀时方便的。

这个前缀的开头如果是”u”、在处理用户自定义数据类型使就很容易看出来。

例如ucli就可以作为用户自定义的client类型的前缀使用。

3.15代码编写规约

除了命名规约以外,也规定代码的注释和缩进等待代码写规约,代码的阅读和理解就更容易了。

3.16代码注释规约

在过程和函数的开头,记述说明各自的功能(做什么的过程)的简单注释。

该注释不是详细的记述过程或函数是怎样实现的。

对于实现方法用函数或方法内的inline注释来记述。

党项过程传递的参数的功能难以理解时,必须对参数注释说明。

函数的返回值,全局变量在过程内被改变以及特殊的参数以引用形式传递的场合,必须在各个过程的开头处注释说明。

关于过程的头注释,参照下表的说明。

 

Sectionhead

注释内容

目的

过程的功能(不记述实现方法)。

前提条件

外部变量,控件,打开的文件,其他难以理解的要素一覧说明。

结果

可能改变的外部变量,控件、文件一览,以及改变的结果(难以理解的场合)的说明。

输入参数

难以理解的参数的说明。

返回值

函数返回值的说明。

注意以下几点:

Ø重要的变量声明,变量的使用方法要注释说明。

Ø变量,过程名要使用容易理解的名字。

3.17代码的形式

现在虽然实用VGA的编程者已经很多了、但也要尽可能考虑画面的空间,同时也要考虑程序的逻辑结构和缩进的代码形式。

以下是参考项目:

Ø用标准的TAB键作一个缩进,一个TAB四个空格长度。

具体如下例:

'********************************************************************************************

'目的说明:

strUserList检索数组,取第一个符合要求的

':

目的用户

'输入参数:

'strUserList():

检索用户一览

'strTargetUser:

检索用户的名字

'返回值:

'n(n>0):

strUserList数组中第一个与strTargetUser相同的项的索引值

'-1:

如果没有发现目的用户,返回-1

'********************************************************************************************

FunctionfintFindUser(strUserList()AsString,strTargetUserAsString)AsInteger

DimintIdxAsInteger'循环变量

DimblnFoundAsBoolean'目的数据发现标志

fintFindUser=-1

intIdx=0

WhileintIdx<=Ubound(strUserList)andNotblnFound

IfstrUserList(intIdx)=strTargetUserThen

blnFound=True

fintFindUser=intIdx

EndIf

intIdx=intIdx+1

Wend

EndFunction

注:

象上面例子一样,为了区别函数名和变量名,在函数名的前面加一个’f’前缀。

3.18常量的分组化

为了不使变量合用胡子定义的常量分布在各个领域和文件中,按机能别分组。

VisualBasic公用的常量分组化以后,定义在一个模块文件中,与其他的应用程序固有的声明分开。

3.19&运算符和+运算符

字符串联结使用&运算符,数值相加使用+运算符。

字符串联结时如果使用+运算符,2个variant类型的数据操作时就会产生问题。

例:

vntVar1="10.01"

vntVar2=11

vntResult=vntVar1+vntVar2'vntResult=21.01

vntResult=vntVar1&vntVar2'vntResult=10.0111

 

3.20MsgBox、InputBox、以及SQL查询字符串的作成

长的代码书写时,用下划线(_)换行。

这样的话复数行代码的阅读和调试都变得容易。

使用这种方法,在消息框(MsgBox)和输入框(InputBox)中表示消息,以及SQL字符串做成时特别方便。

次に例を挙げます。

DimMsgAsString

Msg="这是在消息框中"_

&"表示的段落。

"_

&"数行分开写时,读起来容易,"_

&"调试也容易。

"

MsgBoxMsg

DimQRYAsString

QRY="SELECT*"_

&"FROMTitles"_

&"WHERE[YearPublished]>1988"

TitlesQry.SQL=QRY

.

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2