收藏 分享(赏)

VB编程规约与规范.pdf

上传人:wrn 文档编号:15771805 上传时间:2023-01-18 格式:PDF 页数:12 大小:245.03KB
下载 相关 举报
VB编程规约与规范.pdf_第1页
第1页 / 共12页
VB编程规约与规范.pdf_第2页
第2页 / 共12页
VB编程规约与规范.pdf_第3页
第3页 / 共12页
亲,该文档总共12页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、4 VB 编程规约 与规 范 4.1 注释规 范.2 1.函数(Function)、子程序模块(Subprocedure module)的注释.2 2 窗体模块、标 准模块、类 模块 的注释.3 3 代码 修改部分的注释.4 4 变 量的注释.4 5 IF、FOR、CASE等语 句处 理块 的注释.4 4.2 命名规约.5 1 Project 文件名(.VBP).5 2 可执 行文件名(.EXE,.DLL).5 3 Module 文件名(.FRM,.BAS,.CLS).5 4 函数名(Function,Sub).6 5 Object 名.7 6 控件名.8 7 变 量名.8 8 常量名.9 9

2、 用户 定义类 型.9 4.3 程序代码书写格式规范.9 1.一行中禁止记 述多条语句.9 2.一条变 量定义语 句中,只能出现 一个变 量.10 3 SQL语 句不要在一行内完整记 述,每项应 占一行.10 4 缩进(锯齿状)代码书 写格式.11 4.4 人机接口规约.11 1 光标 控制.11 2 窗体显 示.12 1 4 VB 编程规约 与规 范 4 VB 编程规约与规范 在团队开发作业时,必须在统一的规则下编写各类文档,尤其需要强调的是不允许带有个性化的、随心所欲的编程。只有这样,才能保证系统的可读性、可移植性和可修改性。对一些习惯于趣味编程的人来说,很不习惯受到编程规约的束缚,感到非

3、常麻烦,并且认为不一定非要百分之百地按照规约去做,只要程序能按照设计要求正常运行就行,即使有一些不规范也无妨。这种习惯和想法必须去除。应该认识到,按照规约和规范编程,不仅仅是为了团队,也是为了自己。因为在项目开发过程中,设计变更的情况时有发生,自己编写的程序还需自己修改,不规范的源程序同样会给编程者自身带来麻烦。在系统的设计阶段,设计人员首先详细地规定了系统的开发规范及编程规约。根据系统的开发环境及开发语言的不同,规约与规范在一些具体的细节上有所不同,编程人员在编写程序时必须认真阅读具体的条文并且严格遵守。本章中归类了一些常用的也是最基本的 VB编程规约和规范条款,要求学员在实训过程中严格遵守

4、,从而养成编程的良好习惯。4.1 注释规 范 在程序中填写简明正确的注释,可为后续的测试和维护工作提供明确的指导。在目前的大多数程序设计语言中都允许使用自然语言来填写注释,这就给阅读程序带来很大的方便。1.函数(Function)、子程序模块(Subprocedure module)的注释【函数的注释例】(例题中的斜体字部分表示为需要填写的注释内容)Function BtrvClose(iFileNum As Integer)As Integer*函 数 名:Function BtrvClose()As Integer*功能概要:关闭 Btrieve 文件*参 数:ByVal iFileNum

5、 As Integer(IN)对应于文件的成员*返 回 值:status code*CLASS:ZZZD001.clsZZZD001*更新履历:2004/12/08 Ver001 by 编程者名*:2005/01/13 Ver002 by 修改者名 通过传递参数,可使文件成员得到释放*备 考:此函数通常是在 Form Unload 时调用 2 4 VB 编程规约 与规 范*说明:如例题所示,函数的注释通常位于函数头部(Function/Sub语句的上或下一行),其内容包括:函数名:记述函数的类型、名称及返回值的类型(复制函数定义语句即可);功能概要:简单阐述该函数的功能;参 数:描述传递给函数

6、的参数,其中括弧中的类型描述符含义如下:IN:仅作为参数传递,不可被变更;OUT:作为返回参数传递,返回值被置入此参数;IO:作为参数传递的值被接收、处理后,又被置值返回。返回值:简明阐述该函数返回值的含义(仅适用于函数);CLASS:如果该函数、子程序模块被封装成类,则在此记述该类的名称:记述格式:Library 名.Class 名 更新履历:记述作成日、更新日、担当者名及更新内容概要;备 考:对函数、子程序的补充说明。2 窗体模块、标准模块、类模块的注释【窗体模块的注释例】(例题中的斜体字部分表示为需要填写的注释内容)Option Explicit*功能名称:通用功能的日历登录*版 本:1

7、.01*功能概要:以年度(1月1 日12月 31日)为单位,对日期进行增、删、改、检索*更新履历:2004/12/01 by 编程者名*:2005/03/13 by 修改者名 追加了检索功能*备 考:无*说明:如例所示,模块注释通常位于源程序的头部,其内容包括:功能名称:该模块为窗体模块时,记述的是画面名;若为标准模块或类模块时,记述的是模块名;版 本:记述作成更新时的版本号;3 4 VB 编程规约 与规 范 功能概要:简单描述该模块的功能;更新履历:记述作成日、更新日、担当者名及更新内容概要;备 考:对模块的补充说明。3 代码修改部分的注释 注释格式:识别符+By+修改者+日期+(特定内容)

8、【变更注释例】UPDATE By Gao YYYY.MM.DD(修改了参数类型)【删除注释例】DELETE By Gao YYYY.MM.DD【追加注释例】ADD By Gao YYYY.MM.DD 4 变量的注释 对变量的注释通常位于变量定义行的后部。【例】Dim bFormLoadFlg As Boolean 初期画面打开时的状态标记 5 IF、FOR、CASE 等语句处理块的注释 IF、FOR 等语句处理块的注释,通常位于 IF、FOR 等语句首行的后部【例】If bFormLoadFlg=True Then 如果画面是初始打开状态 For iLoopCnt=1 to 1000 循环 1

9、000 次(数组的元素个数 1000)sStoreTbl(iLoopCnt)=iReadTbl(iLoopCnt)Next iLoopCnt 4 4 VB 编程规约 与规 范 End If 4.2 规约 命名 1 Project 文件名(.VBP)Project 文件名记述规约:.VBP 后三位由任意的英文数字组成 Project 类型 E:标准 EXE D:ActiveX DLL C:ActiveX 控件 Z:其他 Server/Client 区分 S:服务器端 C:客户端 Z:通用 由前两位组成子系统代码 例如ZQ表示证券业务,CW表示财务管理【例】HACE001.VBP(注 如果在设计说

10、明书中已经指定了Project名称,则程序中需遵守该规定。)2 可执行文件名(.EXE,.DLL)记述格式:前 7 位与Project 名相同。【例】HACE001.EXE,HACE001.DLL 3 Module 文件名(.FRM,.BAS,.CLS)Form Module 文件名 记述格式:frm+Project 文件名+NN+.FRM(其中 NN 是属于同一个Project 内Form Module 的连续编号)【例】frmHACE00101.FRM 5 4 VB 编程规约 与规 范 标准 Module 文件名 记述格式:bas+Project 文件名+NN+.BAS(其中 NN 是属于

11、同一个Project内的标准Module连续编号)【例】basHACE00101.BAS Class Module 文件名 记述格式:cls+Project 文件名+NN+.CLS(其中 NN 是属于同一个Project 内的Class Module 连续编号)【例】clsHACE00101.CLS 4 函数名(Function,Sub)函数名的构成基本原则是,用动词+名词描述函数的功能。动词及名词的第一个字母必须大写。根据函数的有效范围,函数名需加上不同的前缀。(event procedure,property procedure 除外)public Function 的记述格式:fnc+任

12、意的英文数字 public Subprocedure的记述格式:sub+任意的英文数字 private Function 的记述格式:prv+fnc+任意的英文数字 private Subprocedure 的记述格式:prv+sub+任意的英文数字【例】(表 4-1)区分 有效范围 Function例 Subprocedure 例 Form Module private prvfncCheckShainCode prvsubDisplayData Code Module public fncCheckShainCode subDisplayData Class Module private

13、prvfncCheckShainCode prvsubDisplayData 另外,Form Module 中禁止使用 public Function和 public Subprocedure。通用函数所使用的 public Function 和 public Subprocedure 名称前,如果加上一个特殊字符,可用于区分服务器端和客户端,从而明确该通用函数的有效范围。区分符定义如下:s:只能用于(server)服务器端 c:只能用于(client)客户端 z:服务器端和客户端多可使用 6 4 VB 编程规约 与规 范【例】ssubWriteLogFile 表明该通用函数仅能用于服务器端

14、5 Object 名 记述格式:表示Object用途的任意英文字母 Object 前缀(标示符,见表 4.2)表 4-2 中描述的控件类型可作为上述 Object名记述格式中 Object 前缀使用。【例】txtSyainNo 表 4-2 Object前缀及控件类型 控件 前缀控件类型 控件 前缀控件类型Form frm Picture box pic Code bas Image img Class cls Line lin Label lbl Shape shp Text box txt(Animation ani Tab tab Data dat Combo box cbo VScrol

15、lBar vsb Check box chk HScrollBar hsb Command button cmd Picture clip pcl Frame fra Graph grp Option button opt Common dialogue cdl Spread sheet spr Gauge gag Grid grd OLE client ole List box lst DB list box dls Menu mnu DB component dcb 7 4 VB 编程规约 与规 范 Timer tmr DB grid dgr Spin button spn Crystal

16、 report cry 禁止使用的控件前缀 表 4-3 中列出的特殊控件,原则上是禁止使用的(在表 4-2 中列出的控件可实现它们的功能)。如果必须用到时,可按表 4.3所述定义用作前缀。表 4-3 特殊控件的前缀 特殊控件 前缀 特殊控件 前缀 特殊控件 前缀directory list box dir 3Dcheckbox ch3 gauge gagdrive list box drv 3Doption button op3 MAPI session masfile list box fil 3Dcommand button cm3 MAPI message mam3Dframe fr3

17、3Dpanel pn3 multimediaMCI mci 6 控件名 记述格式:控件类型+名称(参见表4.2)大写开头的英文单词【例】txtUserID 7 变量名 根据变量的类型及其有效范围,按表 4-4 加以前缀。另外,前缀后面的字符为大写开头的英文单词(参见表 4-5中的例题)。表 4-4 变量名的前缀 变量类型 Procedure内 Module 内 global 二进制型(Byte)y y gy 布尔型(Boolean)b b gb 整数型(Integer)i i gi 长整型(Long)l l gl 单精度浮点小数型(Single)g g gg 双精度浮点小属型(Double)d

18、 d gd 货币型(Currency)c c gc 日期型(Date)a a ga 对象、窗体(Object,Form等)o o go 8 4 VB 编程规约 与规 范 字符串型(String)s s gs 异体型(Variant)v v gv 用户定义类型(Type)t t gt 表 4-5 变量命名例 变量类型 使用范围 例 字符串型(String)global gsUserID 整数型(Integer)Procedure/module iWorkString 8 常量名 常量名均采用大写字母的任意组合(Vb 的专用保留字除外)、其前缀字母的规定与变量名前缀相同。【例】GS_ORACLE_

19、USER,S_APPNAME 9 用户定义类型 用户定义类型使用Type作前缀,其后面为大写开头的英文单词。【例】TypeDataBase 4.3 码 程序代 书 写格式规 范 1.一行中禁止记述多条语句【错误例】iLoopCnt=0:bErrorFlg=True:txtStatus=处理中【正确例】iLoopCnt=0 iErrorFlg=True txtStatus=处理中 9 4 VB 编程规约 与规 范 2.一条变量定义语句中,只能出现一个变量【错误例】Dim sMainCode As String*7,sSubCode As String*7【正确例】Dim sMainCode As

20、 String*7 Dim sSubCode As String*7 3 SQL 语句不要在一行内完整记述,每项应占一行 SELECT 语句例【错误例】SELECT 区分码,商品代码,商品名,进货日期 FROM 商品库表 WHERE 条件式 1 AND 条件式 2【正确例】SELECT 区分码,商品代码,商品名,进货日期 FROM 商品库表 WHERE 条件式 1 AND 条件式2 拼字符串语句例【错误例】sSqlstr=SELECT 区分码,商品代码,进货 日期 FROM 商品库表 WHERE 条件 1 A ND 提条件 2【正确例】sSqlstr=SELECT 区分码,sSqlstr=sS

21、qlstr&商品代码,sSqlstr=sSqlstr&商品名,sSqlstr=sSqlstr&,sSqlstr=sSqlstr&进货日期 sSqlstr=sSqlstr&FROM 商品库表 10 4 VB 编程规约 与规 范 sSqlstr=sSqlstr&WHERE 条件 1 sSqlstr=sSqlstr&AND 条件 2 4 缩进(锯齿状)代码书写格式【正确例】每行以 4 个空格为单位缩进(按一次 Tab 键)If 式1 Then If 式2 Then If 式3 Then Select Case nReturnCode Case TYPE_ERROR Call 式4 Case ILLE

22、GAL_RANGE Call 式5 Case Else End Select End If End If End If 4.4 人机接口规约 1 光标控制 鼠标光标的状态 通常状态:箭头形符号(ARROW)处理中状态:沙漏形符号(HOURGLASS)光标焦点(focus)的移动 键盘键操作时,利用TAB键按下述照规定的顺序,将光标焦点移动到下一个输入域如果光标焦点已经位于画面上的最后一个输入域,则该焦点移至命令按钮上;SHIFT+TAB 可逆向移动光标焦点;移动顺序:自上而下、自左而右;11 4 VB 编程规约 与规 范 12 2 窗体显示 窗体属性的定义 窗体位于屏幕中心 各窗体右上角(最小化、还原、关闭)的操作无效 画面上数据的显示形式 显示类型 显示形式 显示类型 显示形式 数值 右对齐 金额 右对齐,加编辑符号,英文、文字 左对齐 日期 左对齐 编号代码 左对齐 信息显示时调用的函数及其变量 信息分类 调用函数 使用变量 致命信息 msgbox vbCritical 警告信息 msgbox vbExclamation 提示信息 msgbox vbInformation 询问信息 msgbox vbQuestion

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

当前位置:首页 > 企业管理 > 其他文档

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报