已阅读5页,还剩24页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
NETS编码规则株式会社东芝(注):页开始是英文文资料。NOTE :The prvious page is the Japanese Documentations . The English ones Starts from this page .资料号码:.第 1 章 序言4第 2 章 编码的准备5第 3章 命名规约63 1 . 使用的目的63 2 . Object的结构化733. 前缀(prefix)83 4 . 标签(tag)93 5 . 基本名(BaseName)103 6 . 量词( Qualifier)113 7 . 后缀(Suffix)12第章模块头134 1 . 外部模块头134 2 . 内部模块头154 3 . 注释语句17第 5章 错误处理195 1 . 结构化错误处理195 2 . Inline错误处理19第 6章 编码规约206 1 . 函数化206 2 . 常数的使用206 3 . 变量的声明206 3 1 . 变量生明206 3 2 . 变量的范围226 4 . 函数的声明226 4 1.SUB226 4 2 . FUNC226 5 . 控制语句226 5 1 . I FENDIF225 5 2. FORNEXT245 5 3.SELECTCASE255 5 4.DO LOOP27第 7 章 控件28第章用户控件29.在用户控件上作成规定属性298 2 . 在用户控件中作成规定Event30第章数据库访问规则31开发环境31连接断开31表示检索的结果33第 1 章 序言所谓编码就是基于在程序设计时作成的程序设计书和流程图等逻辑设计、用编程语言、对为在计算机上实现某些功能的逻辑进行描述的工作。在编码过程中、为了消除因程序员水平不同而造成的差异、为了顺利的进入单体测试阶段、同时也为了维护方便、以下整理了编码的准备和代码书写的标准。而且、关于书写标准、除非客户有指定的要求、或者使用了(半)自动生成代码的工具话、则应尽量遵从这个标准。本规范是以使用Microsoft 的 Visual Basic 来开发PC的应用程序为前提的。第 2 章 编码的准备(1) 以系统设计书、程序设计书(根据情况也包含流程图等的逻辑设计书)为基础。(2) 在完全理解了以上文档内容的基础上开始编码工作(特别是程序设计书的作者和编码的担当者不同时)。对于不明白的地方不要随意判断、要进行确认。(3) 始终注意要把程序的易理解性(易读性)放在第一位。为此、在编程时要时刻想着程序的读者、本着以向读者说明的态度来编写程序是写好程序的关键。读起来容易理解的程序一般来说总是质量优良、而且容易改造的。(4) 象数据库的记录的规范等include文件、模块头、宏定义等系统应该统一的东西、要采用系统规定的东西、不要根据个人的意愿随意的作成、否则、这将成为在进行变更和改造时发生问题的原因。(5) 编码结束后、要对代码进行检查。不检查代码则不能轻易的进入下一步的测试阶段的工作。检查代码不仅是最容易发现错误的方法、而且有时还能检出在测试时不易发现的复杂错误。第 3章 命名规约3 1 . 使用的目的命名规约以以下4点为目的的而使用。(1) Object名容易明白会使应用程序的结构代码等容易理解。(2) 确立开发小组“通用语言”、使全体成员用同样的“语言”来开发应用程序。(3) 使VB Jet的Object 容易被使用。(4) 用较少的劳力作成VB开发用的工具、在各式各样的VBA 平台里通用的源码库。本规约是用遵从被VisualBasic作为标准的 Lezynski命名规则(Lezynski Naming Convention、 以下称LNC)的方法来规定命名法的。3 2 . Object的结构化LNC按以下格式对Object进行命名。 Prefix tag BaseName Quantifier Suffix Prefix前缀Tag标签BaseName基本名Quantifier量词Suffix后缀对各个部分按顺序进行说明。. 前缀(prefix)前缀是在标签前面的识别符、是对标签进行进一步详细说明的。前缀用1到2个小写字母组成。对1个Object复数个前缀可以组合使用。前缀有表示有效范围的和表示变量特性的。另外、2个前缀能够重叠使用。(1) 表示有效范围的前缀表1 . 表示有效范围的前缀无Procedure内的局部变量s用Static声明的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 )声明的变量t作为用户定义型定义的变量v传递给Procedure参数的作为值传递( ByVal )声明的变量(3) 例值传递的参数:vintCount参照传递的参数: rstrFileName在Declarations用public声明的数组的Index变量:apintMember用Const声明的变量:cintFNAMEMAX3 4 . 标签(tag)标签是表示基本名的特征的复数个的字母、放在基本名的前面。标签基本上相当于面向Object编程的类识别符。标签用3到4个小写字母组成。标签是表示基本名的特征的复数个的字母、表示变量的型啦的种类。从标签表示的意思上可以对数据型、模块、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,modsText BoxtxtList BoxlstCommon Dialogcdlg(3) 例l 判定成功用的变量:blnSuccessl 文件名:strFileNamel 检索处理用的标准模块:basSearchDatal 主Form:frmMainl Start Button:cmdStartl Font Dialog:cdlgFont3 5 . 基本名(BaseName)基本名是设Object名是最先遇到的部分、是不管采用不采用命名规则都必须使用的名字。基本名要用有意义的单词(原则上用英文单词)来组合、各个单词的第一个字母大写其余用小写。这时、再加上专用名词的情况下、要用日语的罗马字。但是、用Const声明的变量的基本名全部用大写。另外、虽然没有限制、基本名还是要选择不太长的名字。作为基本名的样本用在VB编码里的标准的作业变量表示如下。表7 . 标准LNC作业变量blnRET接受函数调用的返回值( True/False )intErr保持Err的值intLoop循环计数器intMsg接受MsgBox函数的返回值intResult保持算术演算的接果(dblresult 、lngResult 也同样)intRet接受函数调用的返回值(dblRet、lngRet也同样)intWord用在所有暂时的作业(dblWord 、 lngWork也同样)strMsg作成Message Box字符串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 . 后缀(Suffix)后缀是以在按照命名规则时变成的名字的Object名上识别符为目的而添加的。所以不是非要不可、根据Project决定是否采用。假设DB关联的标准模块有SortData、DeleteData、InsertData、UpdateData4个。这时、如果存贮错误码的变量设为、在各个模块里确保变量的话、就会区别不开。如果在取各个模块的大写的2个字母作后缀、各个变量就能区别开。SortData( SD )-gintErr_SDDeleteData( DD )-gintErr_DDDeleteData( ID )-gintErr_IDDeleteData( UD )-gintErr_UD虽然后缀的决定方法没有特别的基准、还是要选择容易明白区别基准的2到3个字母的字符串。另外、大写字母、小写字母可以任意使用。第章模块头 模块头对了解模块的概要是很有效的、另外还有助于维护。所以、对此必须记述。4 1 . 外部模块头外部模块头要记述以下项目。(有关程序全体的信息在Include文件(文件名=程序名.h)记述。)( a )模块识别信息 系统名 客户名 程序名或模块名 担当部科名 著作权表示( b ) 模块说明 功能 参数说明 动作环境/作成环境 作成担当着名( c ) 履历 作成日时(单体试验完成日) 变更日时 变更内容 版本信息( d )补充说明 外部模块头*Copyright Shenyang NETS System Integration Co. Ltd.1998.All Rights Reserved.系统名 :系统名客户 :客户 程序 :程序名称担当部长 :沈阳东东系统集成有限公司 开发一部*功能 :功能概要参数 :对有关重要参数进行说明作成环境 :工具、编译环境、OS动作环境 :OS、制约条件担当 :担当者名作成日 :1999年5月28日 (Ver.0)*变更履历 Ver.0.1 1999年5月28日 所属 担当者名 变更理由 变更内容Ver.1.0 1999年6月15日 所属 担当者名 变更理由 变更内容*/4 2 . 内部模块头在内部模块头写下以下项目。 ( a )模块说明 功能 参数说明 动作环境/作成环境 作成担当者名 ( b )履历 作成日时(单体试验完成日) 变更日时 变更内容 版本信息(c )补充说明 内部模块头*功能 :功能概要参数 :对有关参数进行说明担当 :担当者名作成日 :1999年5月28日(Ver .0)*变更履历Ver .0 1999年5月31日 所属 担当者名 变更理由. 变更内容Ver .0 1999年6月15日 所属 担当者名 变更理由. 变更内容*4 3 . 注释语句1. 考虑到提高维护性、以模块及块为单位写上内容说明、以便马上能找到修改的地方。2. 为了帮助读者理解程序、在不容易理解的逻辑上加上说明。不是在只读了程序马上就能理解的地方加上注释、而是要象给读者提供新信息之类的说明。例如、写上在那里使用的算法的注释。3. 不要加上不必要的注释。在注释之前、先要在识别符命名法、整理程序构造上下工夫使程序容易被读懂。4. 注释语句尽可能写的简单明了.5. 注释写在语句的前面时要和语句的列对齐。 注释 XXXX YYYY6. 把源码删除、改成注释时、不要用不容易弄清范围是否有效的写法。 Ver0.5 删除 start XXXXX; YYYYY; Ver0.5 删除 end. 变更 修改程序时对注释也必须进行维护。第 5章 错误处理错误处理有“结构化错误处理”和“Inline错误处理”2种方法。现在的主流虽然是“结构化错误处理”、根据系统也可以使用“Inline错误处理”。另外、也可以把两个组合起来使用。但是、必须对所有的错误的发生都执行错误处理来进行编码。5 1 . 结构化错误处理结构化错误处理是以“On Error Goto XXXX”的语句来记述、在XXXX的部分记述错误处理的方法。这时、错误处理程序XXXX原则上写在Procedure的最后、XXXX要设成、“错误名”+“Err”的名字。5 2 . Inline错误处理Inline错误处理是在错误发生后马上Trap错误的编码方法。为了实行这个、实施以下2点。 在Procedure的开始处写上“On Error Resume Next”语句 在有可能发生错误的码的紧后面编进确认逻辑。第 6章 编码规约6 1 . 函数化 在符合以下条件的情况下、要把处理汇总成子成序。 2个地方以上被使用的处理 超过100步的处理独自作成的函数要写在BAS文件里。这时、BAS文件的最大步数不要超过500步。关于被2个以上可执行文件使用的函数、共享包含那个函数的BAS文件。6 2 . 常数的使用关于字符串的尺寸、上限值、下限值等预先定下来的值、要把这个作为文字常数来定义并使用此常数。6 3 . 变量的声明 6 3 1 . 变量声明( 1 )“Option Explicit”生明Option Explicit”声明使声明所有的变量在参照前必须进行声明的声明。在作成新模块时、必须进行这个声明。或在环境中设置。( 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 Data 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”声明 Procedure模块两方多可使用。用“Const”声明的变量不能变更。用“Public” “ Static” “ Const”声明的变量要预先记载在设计书上。另外、尽可能地把这些变量汇总在1个标准模块上声明。6 3 2 . 变量的范围变量由于声明的地方和声明的种类不同有效范围会有所不同、所以要在考虑范围后再对变量进行声明。6 4 . 函数及子程序的声明函数的声明参数“ByRef” “ByVal”的声明必须进行。读入在DLL定义的函数时、要对被DLL Export的函数名确认后在进行声明。用Alias变更函数名时、要用容易明白原来的函数名的名字。6 4 1.SUB调用子程序时、有用和不用Call调用的方法、在系统中要统一。6 4 2 . FUNC 声明函数时、要用As Type的形式对返回值进行声明。6 5 . 控制语句6 5 1 . I FENDIF有关条件比较、必须考虑进ELSE进行记述。原则上要用肯定型条件比较。进行变量比较时、原则上不使用神秘数用全局变量或常数进行比较。例) if nCount = MAX-COUNT then nPage = nPage + 1 endif if nCount = 10 then nPage = nPage + 1 endif5 5 2. FORNEXT把循环变量写在 NEXT 的后面使循环的范围容易明白例) For nLoop = 1 to 100 nPage = nPage + 1 NEXT nLoop For nLoop = 1 to 100 nPage = nPage + 1 NEXT 5 5 3.SELECTCASE关于语句的各个值的意义要写上注释。另外、考虑到取得预期以外的值的情况要加进CASE ELSE 语句。SELECT CAES 语句嵌套时、要写上注释使对应的End Select容易被明白。例) Select MSG Case 1 “Yes”的情况 nPage = nPage + 1 Case 2 “
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年透明螺丝批项目可行性研究报告
- 广州2025年广东广州市天河区珠江新城猎德幼儿园编外教辅人员招聘3人笔试历年参考题库附带答案详解
- 2025至2031年中国自行车撑丝行业投资前景及策略咨询研究报告
- 2025年涤粘印染面料项目可行性研究报告
- 2025年机械压力式燃烧器项目可行性研究报告
- 恩施2025年湖北恩施高中及相关县市高中招聘48人笔试历年参考题库附带答案详解
- 德阳2025年四川德阳广汉市卫生系统事业单位招聘编外聘用人员44人笔试历年参考题库附带答案详解
- 2025年农业吸水胶管项目可行性研究报告
- 2025年不锈钢中式火锅项目可行性研究报告
- 2025至2030年中国集装箱衬袋数据监测研究报告
- 2024人形机器人产业半年研究报告
- 【正当防卫的限度条件及司法认定问题浅析10000字(论文)】
- 市政管网工程投标方案(技术方案)
- 健康档案模板
- 购买演唱会门票的合同模板
- DB32-T 4790-2024建筑施工特种作业人员安全操作技能考核标准
- 2022年安徽阜阳太和县人民医院本科及以上学历招聘笔试历年典型考题及考点剖析附带答案详解
- 顶管工程施工及验收技术标准
- 【基于现金流的企业财务风险探究文献综述4100字】
- TD/T 1036-2013 土地复垦质量控制标准(正式版)
- 安全警示教育的会议记录内容
评论
0/150
提交评论