计算机源代码编写规范(VB编码规范)[文档在线提供].doc_第1页
计算机源代码编写规范(VB编码规范)[文档在线提供].doc_第2页
计算机源代码编写规范(VB编码规范)[文档在线提供].doc_第3页
计算机源代码编写规范(VB编码规范)[文档在线提供].doc_第4页
计算机源代码编写规范(VB编码规范)[文档在线提供].doc_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

计算机源代码编写规范(VB编码规范)编 号:MPDK/ZY-17-2007修 改 号:0发 放 号:发布时间:2007-06-28实施时间:2007-06-28编 制:批 准:VB编码规范VB编码规范11目的12适用范围13规范内容23.1最低限制的编程规约23.2对象的命名基准23.3控件的前缀23.4数据访问对象 (DAO,ADO)的前缀33.5菜单的前缀43.6其他控件前缀的选择43.7常量和变量的命名基准53.8变量的有效范围53.9变量有效范围的前缀53.10常量63.11变量63.12变量的数据类型63.13说明变量和过程用途的名字73.14用户自定义类型73.15代码编写规约73.16代码注释规约73.17代码的形式83.18常量的分组化93.19& 运算符和 + 运算符93.20MsgBox、InputBox、以及 SQL 查询字符串的作成91 目的规范ASP代码编写人员的编程工作。2 适用范围 本规约是科大量星的基本编程规约,用于Visual Basic编程。 编程规约不是程序的逻辑,而是作为统一程序的物理结构和外观的基准规约。编码是如果遵守编程规约,那么代码的阅读理解和维护都将会变成一种乐趣。编程规约的内容如下:工程,变量以及过程的命名基准代码的惯用标签和注释的标准形式间隔,记述形式以及缩进 编程规约设定的理由是,如果一贯使用某种编程规约,应用程序的风格和结构都是标准化的,代码将很容易理解和维护。3 规范内容3.1 最低限制的编程规约 作为通用的编程规约,规定最低限制的必要条件。为实现这个目标,同时也是为了程序,程序的逻辑以及车工序的流程能自由的做成。 该规约推荐的基准是一个简单的参考,没有提供对全部的对象和控件的规定。另外也没有规定注释的全部类型。对应于工程和组织的各自要求条件,添加以下的要素作为基准:公司内部开发的或由第三方处购入的特殊对象和控件的命名基准表示组织的事业内容和设施的变量名对于工程和公司,容易理解和容易阅读作为一个重要的要素考虑 赋予对象具有一个一惯性使用的前缀的名字,对于方便容易的理解对象的种类是必要的。在这里推荐控件,数据访问对象和菜单的命名基准。 对于常量和变量的命名基准,列举Visual Basic支持的常量和变量的命名基准推荐例子。另外,也说明一下数据类型和适用范围的识别。 3.2 对象的命名基准 如果一惯性的赋予对象名某个前缀,识别对象的种类就会很容易。下表中是Visual Basic支持的部分对象命名推荐基准一览。3.3 控件的前缀控件种类前缀例Check BoxchkchkReadOnlyCombo BoxcbocboEnglishRadio BoxrdordoEnglish按钮cmdcmdExit对话框dlgdlgFileOpen数据控件datdatBiblioDB CombodbcbodbcboLanguageDB GriddbgrddbgrdQueryResultDB ListdblstdblstJobTypeDirectory List BoxdirdirSourceDriver List BoxdrvdrvTargetFile List BoxfilfilSourceFormfrmfrmEntryFlexible GridmsgmsgClientsFramefrafraLanguage水平滚动条hsbhsbVolumeImageimgimgIconLabellbllblHelpMessageLinelinlinVerticalList BoxlstlstPolicyCodesMDI SubformmdimdiNote菜单mnumnuFileOpenMS Flexible GridmsgmsgClientsOLE 容器oleoleWorksheet选项按钮optoptRedPicturepicpicVGAText BoxtxttxtLastName定时器tmrtmrAlarm表1 对象命名标准3.4 数据访问对象 (DAO,ADO)的前缀为了识别数据访问对象,使用下表所示的前缀数据访问对象前缀例ContainerConConReportsDatabaseDbDbAccountsDBEngineDbeDbeJetDocumentDocDocSalesReportFieldFldFldAddressGroupGrpGrpFinanceIndexIdxIdxAgeParameterPrmPrmJobCodeQueryDefQryQrySalesByRegionRecordsetRecRecForecastRelationRelRelEmployeeDeptTableDefTbdTbdCustomersUserUsrUsrNewWorkspaceWspWspMine表2 DAO/ADO对象命名标准 例:Dim dbBiblio As DatabaseDim recPubsInNY As Recordset, strSQLStmt As StringConst DB_READONLY = 4 常量设定打开数据库Set dbBiblio = OpenDatabase(Biblio.mdb) SQL文设定strSQLStmt = SELECT * FROM Publishers WHERE State = NY 新的Recordset对象做成Set recPubsInNY = dbBiblio.OpenRecordset(strSQLStmt, dbReadOnly)3.5 菜单的前缀 应用程序大多使用菜单。菜单控件的前缀是mnu。命名例子一览如下表所示菜单标题顺序菜单控件的名字文件 打开mnuFileOpen文件 送信 电子邮件mnuFileSendEmail文件 送信 Fax mnuFileSendFax格式 字符mnuFormatCharacter帮助 目录mnuHelpContents 使用该命名规约,特定的菜单组的成员在Visual Basic的属性窗口按照组别的方式排序。另外菜单控件的名字也明确表示了其所关联的菜单项目。3.6 其他控件前缀的选择 对于上面没有说到的控件,为了保持一惯性,开发者可以决定使用两到三个字母的前缀。超过三个字母的前缀,如非必要,不要使用。 例如,派生的控件或修改了的控件,可以扩张我们上面所说明了的前缀。如果是其他公司开发的控件,可以用小写字母拓展前缀。3.7 常量和变量的命名基准 不仅对象,对常量和变量的适当命名基准也是必要的。在这里列举Visual Basic支持的常量和变量的命名基准推荐例子。另外也说明数据类型和适用范围。3.8 变量的有效范围 变量的有效范围要尽量的小。若使用全局 (Public) 变量、程序的状态就会变得复杂,逻辑也有可能变得难以理解。另外代码的再利用和维护也会变得困难。Visual Basic变量有效范围一览,入下表示有效范围声明可以引用的范围过程过程或函数内 Private声明的过程内模块Form或代码模块 (.frm、.bas) 的声明(Declare) PrivateFrom和模块内的所有过程和函数全局代码模块(.bas) 的声明 Public应用程序全体 在Visual Basic程序中,没有其他方法在多个Form间共有数据时,才考虑使用全局变量。在使用全局变量的场合,推荐的方法是,根据变量的机能,对变量进行分组,把所有的变量定义在一个模块中。 编程时,尽可能的使代码模块化。例如,应用程序弹出对话框的场合,与这个对话框相关联的控制和代码应该全部写在1个Form中。 过程和函数仅仅只操作被传递的对象(全局变量除外)。没有必要传递全局变量。过程内使用的全局变量,必须在过程的开头处声明。另外,处理被传递的参数的之明确会被改变以外,ByVal的方式传递过程或函数的参数。3.9 变量有效范围的前缀当工程鞭打时、正在使用的变量的有效范围的识别将变得非常重要。表示数据类型的前缀的前面加上一个表示有效范围的1个字母的前缀,变量名不会变得太长,而又能识别变量的有效范围。有效范围前缀例全局ggstrUserName模块mmblnCalcInProgress过程内无dblVelocity 在标准模块或Form模块中,把变量作为public声明的话,该变量就是全局变量,该变量的有效范围就是模块级的。注意 为了有效的后用这种方法,使用一贯性的前缀很重要的。3.10 常量 常量名使用大写字母书写。标准的Visual Basic 常量名中部含有数据类型和有效范围情报。在用户定义的常量中,如使用int、str、g、m 等前缀的话,常量的值和范围就很容易理解。常量名可以和变量名用相同的命名基准,如下面的例子。mintUSERLISTMAX用户列表的最大数(整形,模块内有效)gstrNEWLINE新的改行字符(字符串,全局变量) 3.11 变量预先声明全部的变量,因为变量类型错误而产生的bug就会减少,那么就会减少编程时间,提高效率。比如,为防止把aUserNameTmp误作为 sUserNameTmp或sUserNameTemp这样的bug,可以把 选项 对话框的编辑属性页的变量强制声明选中。根据Option Explicit声明,Visual Basic会要求所有使用的变量都必须事先声明。 对于变量,名字要加上表时数据类型的前缀。特别是党程序的规模变得很大时,可以用前缀识别出变量的数据类型。3.12 变量的数据类型为表示变量的数据类型,可以使用以下的前缀数据类型前缀例布尔型 (Boolean)blnblnFound字节型 (Byte)bytbytRasterDataCollection 对象colcolWidgets通货型 (Currency)curcurRevenue日期型 (Date)dtmdtmStart双精度浮点型 (Double)dbldblTolerance错误值errerrOrderNum整形 (Integer)intintQuantity长整形 (Long)lnglngDistance对象类型 (Object)objobjCurrent单精度浮点型 (Single)sngsngAverage字符串 (String)strstrFName用户自定义类型udtudtEmployeeVariant类型vntvntCheckSum 3.13 说明变量和过程用途的名字 变量和过程名字的主体部分用大写和小写字母书写。另外变量的名字应该象InitNameArray 和 CloseDialogIn 一仰泳动词开头。频繁使用的单词或长的单词,可以考虑使用缩写的形式,以缩短变量名字长度。一般来说变量名的长度超过32个字符,用VGA 显示的话,阅读起来就会很困难。使用省略形式,必须在整个应用程序内统一使用。比如,在工程内 Cnt 和 Count 两种表示方法时,就有可能产生混淆。3.14 用户自定义类型 在多数使用用户自定义类型的大规模工程中,对各个类型使用固有的三个字母的前缀时方便的。这个前缀的开头如果是”u”、在处理用户自定义数据类型使就很容易看出来。例如 ucli 就可以作为用户自定义的client类型的前缀使用。3.15 代码编写规约 除了命名规约以外,也规定代码的注释和缩进等待代码写规约,代码的阅读和理解就更容易了。3.16 代码注释规约 在过程和函数的开头,记述说明各自的功能(做什么的过程) 的简单注释。该注释不是详细的记述过程或函数是怎样实现的。对于实现方法用函数或方法内的inline注释来记述。党项过程传递的参数的功能难以理解时,必须对参数注释说明。函数的返回值,全局变量在过程内被改变以及特殊的参数以引用形式传递的场合,必须在各个过程的开头处注释说明。关于过程的头注释,参照下表的说明。Section head注释内容目的过程的功能 (不记述实现方法)。前提条件外部变量,控件,打开的文件,其他难以理解的要素一覧说明。结果可能改变的外部变量,控件、文件一览,以及改变的结果(难以理解的场合)的说明。输入参数难以理解的参数的说明。返回值函数返回值的说明。注意以下几点: 重要的变量声明,变量的使用方法要注释说明。 变量,过程名要使用容易理解的名字。3.17 代码的形式 现在虽然实用 VGA 的编程者已经很多了、但也要尽可能考虑画面的空间,同时也要考虑程序的逻辑结构和缩进的代码形式。以下是参考项目: 用标准的TAB键作一个缩进,一个TAB四个空格长度。具体如下例:* 目的说明:strUserList 检索数组,取第一个符合要求的 : 目的用户 输入参数:strUserList():检索用户一览strTargetUser:检索用户的名字 返回

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论