




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、计算机编码程序设计说明书第1章序言所谓编码就是基于在程序设计时作成的程序设计书和流程图等逻辑设计、用编程语言、对为在计算机上实现某些功能的逻辑进行描述的工作。在编码过程中、 为了消除因程序员水平不同而造成的差异、 为了顺利的进入单体测试阶段、同时也为了维护方便、以下整理了编码的准备和代码书写的标准。而且、关于书写标准、除非客户有指定的要求、或者使用了(半)自动生成代码的工具话、则应尽量遵从这个标准。本规范是以使用Microsoft的 Visual Basic来开发 PC的应用程序为前提的。第 2 章编码的准备( 1) 以系统设计书、程序设计书(根据情况也包含流程图等的逻辑设计书)为基础。( 2
2、) 在完全理解了以上文档内容的基础上开始编码工作(特别是程序设计书的作者和编码的担当者不同时) 。对于不明白的地方不要随意判断、要进行确认。( 3) 始终注意要把程序的易理解性(易读性)放在第一位。为此、在编程时要时刻想着程序的读者、 本着以向读者说明的态度来编写程序是写好程序的关键。读起来容易理解的程序一般来说总是质量优良、而且容易改造的。( 4) 象数据库的记录的规范等 include 文件、模块头、宏定义等系统应该统一的东西、要采用系统规定的东西、不要根据个人的意愿随意的作成、否则、这将成为在进行变更和改造时发生问题的原因。( 5) 编码结束后、 要对代码进行检查。 不检查代码则不能轻易
3、的进入下一步的测试阶段的工作。检查代码不仅是最容易发现错误的方法、而且有时还能检出在测试时不易发现的复杂错误。第3 章命名规约3 1.使用的目的命名规约以以下4 点为目的的而使用。( 1)Object 名容易明白会使应用程序的结构代码等容易理解。( 2)确立开发小组“通用语言” 、使全体成员用同样的“语言”来开发应用程序。( 3)使 VB Jet 的 Object 容易被使用。(4)用较少的劳力作成VB 开发用的工具、在各式各样的VBA 平台里通用的源码库。本规约是用遵从被VisualBasic作为标准的Lezynski命名规则(Lezynski NamingConvention 、 以下称
4、LNC)的方法来规定命名法的。3 2 .Object的结构化LNC按以下格式对Object进行命名。 Prefix tag BaseName Quantifier Suffix PrefixTagBaseNameQuantifierSuffix前缀标签基本名量词后缀对各个部分按顺序进行说明。 .前缀( prefix)前缀是在标签前面的识别符、是对标签进行进一步详细说明的。前缀用组成。对 1 个 Object 复数个前缀可以组合使用。1 到2 个小写字母前缀有表示有效范围的和表示变量特性的。另外、2 个前缀能够重叠使用。(1)表示有效范围的前缀无sProcedure用 Static表 1 .内的
5、局部变量声明的 Procedure表示有效范围的前缀的局部变量m在模块 Declarations Section的用 Dim 或 Private 声明的模块水平的变量p在模块的 Declarations Section用 Public 声明的变量g在模块的 Declarations Section作为 Public 或 Global声明的变量(2)表示变量特性的前缀表 2.表示变量特性的前缀a作为数组声明的变量c用 Const 声明的变量e作为的 Collection1个要素的变量i作为数组的 Index或循环的计数器使用的变量r传递给 Procedure参数的作为参照传递 ( ByRef )
6、声明的变量t作为用户定义型定义的变量v传递给 Procedure参数的作为值传递 ( ByVal )声明的变量(3)例值传递的参数:vintCount参照传递的参数:rstrFileName在 Declarations用 public声明的数组的Index 变量: apintMember用 Const 声明的变量: cintFNAMEMAX3 4 .标签( tag )标签是表示基本名的特征的复数个的字母、放在基本名的前面。标签基本上相当于面向 Object 编程的类识别符。标签用 3 到 4 个小写字母组成。标签是表示基本名的特征的复数个的字母、表示变量的型啦的种类。从标签表示的意思上可以对数
7、据型、模块、 Form、控件的标签进行分类。(1)数据型表 3.数据型标签布尔值bln长整数lngBytebytObjectobj双精度浮点数dbl字符串str错误err用户定义typ整数intVariantvar(2)模块、 Form、控件表4模块标签表5.标签类模块cls对话框fdlg标准模块bas菜单fmnuFormfrm表 6.控件标签Command ButtoncmdOption Buttonopt控件ctlPocturepic,picsCombo BoxcboPrinterprn,prns菜单mnu属性prp,prps菜单项mni,mnisTabtab,tabsNodenod,mo
8、dsText BoxtxtList BoxlstCommon Dialogcdlg(3)例判定成功用的变量:blnSuccess文件名:strFileName检索处理用的标准模块:basSearchData主 Form:frmMainStart Button:cmdStartFont Dialog:cdlgFont3 5.基本名( BaseName)基本名是设Object 名是最先遇到的部分、是不管采用不采用命名规则都必须使用的名字。基本名要用有意义的单词(原则上用英文单词)来组合、各个单词的第一个字母大写其余用小写。这时、再加上专用名词的情况下、要用日语的罗马字。但是、用 Const 声明的
9、变量的基本名全部用大写。另外、虽然没有限制、基本名还是要选择不太长的名字。作为基本名的样本用在VB 编码里的标准的作业变量表示如下。表 7 .标准 LNC作业变量blnRET接受函数调用的返回值(True/False )intErr保持 Err 的值intLoop循环计数器intMsg接受 MsgBox函数的返回值intResult保持算术演算的接果(dblresult、 lngResult 也同样)intRet接受函数调用的返回值(dblRet 、 lngRet 也同样)intWord用在所有暂时的作业(dblWord、 lngWork 也同样)strMsg作成 Message Box 字符
10、串3 6 .量词( Qualifier)量词表示 Object 在关联上是怎样被利用的。 (最大、 最小等) 量词要尽量短、 用大写 . 小写字母的组合来表示。表 8 .量词Curr存贮 1Set 内的现在的要素First存贮 1Set 内的最初的要素Hold存贮以后要使用的要素Last存贮 1Set 内的最后的要素Max存贮 1Set 内的最大要素Min存贮 1Set 内的最小要素Next存贮 1Set 内的下一个的要素New存贮的新的 instance 或值Oid存贮的以前的 instance 或值Prev存贮 1Set 内的前面的要素Src存贮 SourceTemp存贮暂时的值3 7 .
11、后缀( Suffix)后缀是以在按照命名规则时变成的名字的 Object 名上识别符为目的而添加的。 所以不是非要不可、根据 Project 决定是否采用。假设 DB关联的标准模块有 SortData 、DeleteData 、 InsertData 、 UpdateData4 个。这时、如果存贮错误码的变量设为、在各个模块里确保变量的话、就会区别不开。如果在取各个模块的大写的 2 个字母作后缀、各个变量就能区别开。 SortData(SD )- gintErr_SD DeleteData(DD )- gintErr_DD DeleteData(ID )- gintErr_ID DeleteD
12、ata(UD )- gintErr_UD虽然后缀的决定方法没有特别的基准、还是要选择容易明白区别基准的2 到 3 个字母的字符串。另外、大写字母、小写字母可以任意使用。第章模块头模块头对了解模块的概要是很有效的、另外还有助于维护。所以、对此必须记述。4 1.外部模块头外部模块头要记述以下项目。(有关程序全体的信息在Include文件(文件名=程序名.h )记述。)( a )模块识别信息 系统名 客户名 程序名或模块名 担当部科名 著作权表示( b ) 模块说明 功能 参数说明 动作环境 / 作成环境 作成担当着名( c ) 履历 作成日时(单体试验完成日) 变更日时 变更内容 版本信息( d
13、)补充说明外部模块头 * Copyright?ShenyangNETS SystemIntegrationCo.RightsReserved.系统名:系统名客户:客户程序:程序名称担当部长:沈阳东东系统集成有限公司开发一部 *功能参数作成环境动作环境担当作成日:功能概要:对有关重要参数进行说明:工具、编译环境、OS: OS、制约条件:担当者名: 1999 年 5 月 28 日 ( Ver.0) *变更履历 Ver.0.11999年 5月 28日所属担当者名变更理由 变更内容 Ver.1.01999年 6月 15日所属担当者名变更理由 变更内容 */4 2.内部模块头在内部模块头写下以下项目。(
14、 a )模块说明 功能 参数说明 动作环境 / 作成环境 作成担当者名( b )履历 作成日时(单体试验完成日) 变更日时 变更内容 版本信息( c )补充说明内部模块头 *功能参数担当作成日:功能概要:对有关参数进行说明:担当者名:1999 年 5 月 28 日( Ver .0) *变更履历 Ver .0 1999 Ver .0 1999年5月 31日变更理由年6月 15日变更理由.所属变更内容所属变更内容担当者名担当者名 *4 3.注释语句1. 考虑到提高维护性、以模块及块为单位写上内容说明、以便马上能找到修改的地方。2. 为了帮助读者理解程序、在不容易理解的逻辑上加上说明。不是在只读了程
15、序马上就能理解的地方加上注释、而是要象给读者提供新信息之类的说明。例如、写上在那里使用的算法的注释。3. 不要加上不必要的注释。在注释之前、先要在识别符命名法、整理程序构造上下工夫使程序容易被读懂。4. 注释语句尽可能写的简单明了 .5. 注释写在语句的前面时要和语句的列对齐。注释XXXXYYYY6、把源码删除、改成注释时、不要用不容易弄清范围是否有效的写法。 Ver0.5删除start XXXXX; YYYYY; Ver0.5删除 end . 变更 修改程序时对注释也必须进行维护。第5 章错误处理错误处理有“结构化错误处理”和“ Inline 错误处理” 2 种方法。现在的主流虽然是“结构化
16、错误处理” 、根据系统也可以使用“ Inline 错误处理”。另外、也可以把两个组合起来使用。但是、必须对所有的错误的发生都执行错误处理来进行编码。5 1 .结构化错误处理结构化错误处理是以“ On Error Goto XXXX”的语句来记述、在 XXXX的部分记述错误处理的方法。这时、错误处理程序 XXXX原则上写在 Procedure 的最后、 XXXX要设成、“错误名” +“ Err ”的名字。5 2 .Inline错误处理Inline错误处理是在错误发生后马上Trap 错误的编码方法。为了实行这个、实施以下2 点。在 Procedure的开始处写上“On Error Resume N
17、ext”语句在有可能发生错误的码的紧后面编进确认逻辑。第6 章编码规约6 1.函数化在符合以下条件的情况下、要把处理汇总成子成序。 2 个地方以上被使用的处理 超过 100 步的处理独自作成的函数要写在BAS文件里。这时、 BAS文件的最大步数不要超过500 步。关于被 2 个以上可执行文件使用的函数、共享包含那个函数的BAS文件。6 2.常数的使用关于字符串的尺寸、上限值、下限值等预先定下来的值、要把这个作为文字常数来定义并使用此常数。6 3.变量的声明631.变量声明( 1)“Option Explicit”生明Option Explicit”声明使声明所有的变量在参照前必须进行声明的声明
18、。在作成新模块时、必须进行这个声明。或在环境中设置。( 2) “Dim”声明Dim”声明是为了声明变量并分配存贮领域而使用。因为声明因生明的地方不同而使范围不同、 所以如果希望范围明确的话、用“Public ”、“Private ”声明进行声明。用“ Dim”声明进行变量声明时、必须把变量的型用“As Type”来声明这时、在进行复数个变量声明的情况下、要给各个变量加上“As Type ”。例)Dim strName As String , strFile As String ,strData As String这种情况下、String型的 str Name str File, str Dat
19、a 3个变量被生明。Dim strName , strFile ,strData As String这种情况下、Variant型的 s z Name 、 s z File和 String型的 s z Data变量被声明。( 3)“ Public、 Private ”声明这些声明是在对水平的变量进行声明时使用。“ Public ”是对 Project 内通用的变量、“ Private”是只对模块内使用的变量使用。( 4 )“ Static ” 声明在对 Procedure 水平的变量进行声明时使用。用“ Static ”声明的变量在程序执行期间内成为有效的变量。( 5 )“ Const ”声明P
20、rocedure模块两方多可使用。用“Const ”声明的变量不能变更。用“ Public ” “ Static ” “ Const ”声明的变量要预先记载在设计书上。 另外、尽可能地把这些变量汇总在 1 个标准模块上声明。6 3 2.变量的范围变量由于声明的地方和声明的种类不同有效范围会有所不同、所以要在考虑范围后再对变量进行声明。6 4 .函数及子程序的声明函数的声明参数“ByRef” “ ByVal ”的声明必须进行。读入在 DLL 定义的函数时、要对被 DLL Export 的函数名确认后在进行声明。用 Alias 变更函数名时、要用容易明白原来的函数名的名字。64 1.SUB调用子程
21、序时、有用和不用Call 调用的方法、在系统中要统一。64 2. FUNC声明函数时、要用As Type 的形式对返回值进行声明。6 5.控制语句65 1. IFENDIF有关条件比较、必须考虑进ELSE进行记述。原则上要用肯定型条件比较。进行变量比较时、原则上不使用神秘数用全局变量或常数进行比较。例) if nCount = MAX-COUNT then nPage = nPage + 1endif if nCount = 10 then nPage = nPage + 1endif5 52.FOR NEXT把循环变量写在NEXT 的后面使循环的范围容易明白例) For nLoop = 1 to 100 nPage = nPage + 1NEXT nLoop For nLoop = 1 to 100 nPage = nPage + 1NEXT5 5 3.SELECT CASE关于语句的各个值的意义要写上注释。另外、考虑到取得预期以外的值的情况要加进 SELECT CAES语句嵌套时、要写上注释使对应的CASE ELSE 语句。End Select容易被明白。例)Select MSGCase 1nPage = nPage + 1Case 2nPage = nPage - 1Case Elsen
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 学生领导力发展的计划
- 二年级上册数学 第四单元森林里的故事 《 除法的初步认识》 教案青岛版(五四学制)
- 一年级下册数学教案-8.1.认识厘米 青岛版
- 三年级数学上册单元教案-第1单元 混合运算-北师大版
- 管家工作表现好的评语
- 第四单元信息窗一《三角形的认识》(教案)-四年级上册数学青岛版(五四学制)
- 2025年拉萨货运从业考试试题答案大全
- 2025年甘孜驾校考试客货运从业资格证考试题库
- 2025年呼和浩特货车资格证答案
- 2025年陕西运输从业资格证考试试题库
- 仪表说明书umc1300用户手册
- 交通运输安全管理整套教学课件
- 城轨道交通运营管理专业设置的必要性和可行性分析报告
- 招商团队架构
- 第二章基因工程的载体和工具酶
- 高职单招英语单词
- 【图文】科技艺术节 纸桥受力分析图
- 睿智cpld开发板用户手册10版本
- 李雁鸣循环理论
- 火花塞的拆装检查ppt课件
- 课题研究思路流程图
评论
0/150
提交评论