VB 版 (精华区)

发信人: Mice (开心果), 信区: VisualBasic
标  题: [转载] Visual Basic 常量和变量命名约定
发信站: 紫 丁 香 (Mon Nov 16 19:09:20 1998), 转信

【 以下文字转载自 VisualProgram 讨论区 】
【 原文由 Mice 所发表 】

除了对象之外,常量和变量也需要良好格式的命名约定。本节列出了 Visual Basic 支
持的常量和变量的推荐约定。并且讨论标识数据类型和范围的问题。
变量应该总是被定义在尽可能小的范围内。全局 (Public) 变量可以导致极其复杂的状
态机构,并且使一个应用程序的逻辑非常难于理解。全局变量也使代码的重用和维护更
加困难。

Visual Basic 中的变量可以有下列范围:
范围        声明位置                                可见位置

过程级        过程,子过程或函数过程中的 'Private'        在声明它的过程中
模块级        窗体或代码模块(.frm、.bas )的声明        窗体或代码模块中的每一个过程
        部分中的 'Private'
全局        代码模块(.bas)的声明部分中的 'Public'        应用程序中的每一处
        
在 Visual Basic 的应用程序中,只有当没有其它方便途径在窗体之间共享数据时才使
用全局变量。当必须使用全局变量时,在一个单一模块中声明它们,并按功能分组。给
这个模块取一个有意义的名称,以指明它的作用,如 Public.bas。

较好的编码习惯是尽可能写模块化的代码。例如,如果应用程序显示一个对话框,就把
要完成这一对话任务所需要的所有控件和代码放在单一的窗体中。这有助于将应用程序
的代码组织在有用的组件中,并减小它运行时的开销。

除了全局变量(应该是不被传递的),过程和函数应该仅对传递给它们的对象操作。在
过程中使用的全局变量应该在过程起始处的声明部分中标识出来。此外,应该用 ByVal 
将参数传递给 Sub 过程及 function 过程,除非明显地需要改变已传递的参数值。

变量范围前缀

随着工程大小的增长,划分变量范围的工作也迅速增加。在类型前缀的前面放置单字母
范围前缀标明了这种增长,但变量名的长度并没有增加很多。

范围                前缀        例子

全局                g        gstrUserName
模块级                m        mblnCalcInProgress
本地到过程        无        dblVelocity
        
如果一个变量在标准模块或窗体模块中被声明为 Public,那么该变量具有全局范围。如
果一个变量在标准模块或窗体模块中被分别声明为 Private,那么该变量有模块级范围。

注意   一致性是卓有成效地使用这种技术的关键;Visual Basic 中的语法检查器不会
捕捉以 "p." 开头的模块级变量。
        
常量

常量名的主体是大小写混合的,每个单词的首字母大写。尽管标准 Visual Basic 常量
不包含数据类型和范围信息,但是象 i、s、g 和 m 这样的前缀对于理解一个常量的值
和范围还是很有用的。对于常量名,应遵循与变量相同的规则。例如:

mintUserListMax                '对用户列表的最大限制
                        '(整数值,本地到模块)
gstrNewLine                '新行字符
                        '(字符串,应用程序全局使用)
        
变量
声明所有的变量将会节省编程时间,因为键入操作引起的错误减少了(例如,究竟是 
aUserNameTmp,还是 sUserNameTmp,还是 sUserNameTemp)。在“选项”对话框的
“编辑器”标签中,复选“要求变量声明”选项。Option Explicit 语句要求在 
Visual Basic 程序中声明所有的变量。

应该给变量加前缀来指明它们的数据类型。而且前缀可以被扩展,用来指明变量范围,
特别是对大型程序。

变量数据类型

用下列前缀来指明一个变量的数据类型。

数据类型                前缀        例子

Boolean                        bln        blnFound
eanB                        byt        bytRasterData
nByteCollection         o        col        colWidgets
ection o                cur        curRevenue
on objectCu                dtm        dtmStart
ectCur                        dbl        dblTolerance
Curre                        err        errOrderNum
rencyDa                        int        intQuantity
yDat                        lng        lngDistance
Object                        obj        objCurrent
ectSin                        sng        sngAverage
Single                        str        strFName
gleStringUser-def        udt        udtEmployee
User-de        vnt                vntCheckSum
        
描述变量和过程名

变量或过程名的主体应该使用大小写混合形式,并且应该足够长以描述它的作用。而且
,函数名应该以一个动词起首,如 InitNameArray 或 CloseDialog。

对于频繁使用的或长的项,推荐使用标准缩略语以使名称的长度合理化。一般来说,超
过 32 个字符的变量名在 VGA 显示器上读起来就困难了。

当使用缩略语时,要确保它们在整个应用程序中的一致性。在一个工程中,如果一会儿
使用 Cnt, 一会儿使用 Count,将导致不必要的混淆。

用户定义的类型

在一项有许多用户定义类型的大工程中,常常有必要给每种类型一个它自己的三个字符
的前缀。如果这些前缀是以 "u" 开始的,那么当用一个用户定义类型来工作时,快速识
别这些类型是很容易的。例如,ucli 可以被用来作为一个用户定义的客户类型变量的前
缀。

--
※ 来源:.紫 丁 香 bbs.hit.edu.cn.[FROM: 202.118.226.92]
--
※ 转载:.紫 丁 香 bbs.hit.edu.cn.[FROM: 202.118.226.67]
--
※ 转载:.紫 丁 香 bbs.hit.edu.cn.[FROM: cad4.hit.edu.cn]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:5.543毫秒