VB编程规范(doc20)

上传人:枫** 文档编号:485184609 上传时间:2023-12-30 格式:DOC 页数:20 大小:109.76KB
返回 下载 相关 举报
VB编程规范(doc20)_第1页
第1页 / 共20页
VB编程规范(doc20)_第2页
第2页 / 共20页
VB编程规范(doc20)_第3页
第3页 / 共20页
VB编程规范(doc20)_第4页
第4页 / 共20页
VB编程规范(doc20)_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《VB编程规范(doc20)》由会员分享,可在线阅读,更多相关《VB编程规范(doc20)(20页珍藏版)》请在金锄头文库上搜索。

1、VB编程规范选项能数的规范有两方面的意义:一方面是及时排除程序中存在的拼写错误、语法错误,及时保存程序的修改;另一方面是将所有开发人员的开发界面一致化,以避免开发人员在其它开发人员的电脑上工作时因选项不同而造成的差错。1) 打开“工具”菜单,在第一页“编辑器”中选定所有选项,并在Tab宽度中输入4。代码缩进时,先选中要缩进的代码块,然后使用快捷键是Tab(右移)和Shift+Tab(左移);如果手工输入空格完成缩进,请以4个空格为单位。 2) 在第二页“编辑器格式”中,不要修改任何选项,一律使用VB默认值,否则可能在其他人操作时因界面不一致,而产生操作失误。 3) 在第三页“通用”中,清除“请

2、求时编译”前的复选框(此时“后台编译”选项会变成灰色),以确保每次程序执行时都是全编译执行。 4) 第四页“可连接的”,可按自己习惯设定,建议清除所有复选框,这样会编辑代码时代码窗口可获得最大的显示空间。 5) 第五页“环境”中“启动程序时”中一定选择“提示保存改变”(第二项),这样每次程序被修改后再运行时,VB都会提示保存,避免对程序的修改因偶然因素而丢失。 6) 第六页“高级”中各选项由开发人员按自己习惯定义,但要注意当使用SDI方式进行开发时,每次在设计环境中用鼠标拖动窗体都会导致窗体的StartUpPosition变为0-手动,原来在屏幕上居中(StartUpPosition为2-屏幕

3、中心)的窗体运行时可能会改变位置。 快捷键的使用使用快捷键提高操作速度。F1帮助F2显示对象浏览器F4查看当前选中控件的属性窗体F5运行F7由窗体设计切换到对应的代码窗体F8单步执行Shift+F2查看当前光标所在的变量或函数、子过程的定义Shift+F7由代码窗体切换到对应的窗体设计界面Shift+F8逐过程单步执行Ctrl+F5全编译执行Ctrl+F在代码窗体进行查找Ctrl+G查看立即窗体Ctrl+R查看工程窗口设计模块和过程建具有很强内聚力的模块过程的重要性往往比模块的重要性更容易理解,过程是指执行一个统一函数的一段代码。模块常被错误的视为是一个仅仅用于存放过程的容器。有些开发人员甚至

4、把这种思路作了进一步的发挥,将他们的所有过程放入单个模块之中。之所以不能正确的认识模块的功能,原因之一是模块的实现实际上并不影响程序的执行。当一个工程被编译时,如果所有过程都放在单个模块中或者放在几十个模块中,这没有任何关系。虽然模块的数量对代码的执行并无太大的影响,但是当创建便于调试和维护的代码时,模块的数量有时会带来很大的影响。模块应该用来将相关的过程组织在一起。当模块包含一组紧密关联的过程时,该模块可以说具有强大的内聚力。当模块包含许多互不相关的过程时,该模块便具有较弱的内聚力。应该努力创建内聚力比较强的模块。大多数工程都包含许多并不十分适合与其他过程组合在一起的过程。在这种情况下,可以

5、为这些不合群的过程创建一个综合性收容模块。创建模块时,应知道“模块化”这个术语的含义是什么。模块的基本目的是创建相当独立的程序单元。从根本上来讲,模块可以添加给另一个工程,并且可以通过直接调用它的公用过程来使用它。创建松散连接和高度专用的过程a) 使所有过程都执行专门的任务 每个过程都应执行一项特定的任务,它应出色的完成这项任务。应避免创建执行许多不同任务的过程。创建专用过程有许多好处。首先调试将变得更加容易。b) 尽量使过程成为自成一体的独立过程 当一个过程依赖于其他过程的调用时,称为与其他过程紧密连接的过程。紧密连接的过程会使调试和修改变得比较困难,因为它牵涉到更多的因素。松散连接的过程优

6、于紧密连接的过程,但你不可能使每个过程都成为独立的过程。若要使过程具备较强的独立性,方法之一是尽量减少全局变量和模块级变量。创建过程时,设法将每个过程视为一个黑箱,其他例程不应要求了解该过程的内部工作情况,该过程也不应要求了解它外面的工程情况。这就是为什么你的过程应依靠参数而不应依靠全局变量的原因。创建专用过程时,请考虑下列指导原则:1) 将复杂进程放入专用过程。如果应用程序使用复杂的数学公式,请考虑将每个公式放入它自己的过程中。这样使用这些公式的其他过程就不包含用于该公式的实际代码。这样也可以更容易发现与公式相关的问题。 2) 将数据输入/输出(I/O)放入专用过程。 3) 将专用过程中可能

7、要修改的代码隔离。如果你知道某个进程经常变更,请将这个多变的代码放入专用过程,以便以后可以更容易的进行修改,并减少无意中给其他进程带来问题的可能性。 4) 将业务规则封装在专用过程中。业务规则常属于要修改的代码类别,应与应用程序的其余部分隔开。其他过程不应知道业务规则,只有要调用的过程才使用这些规则。 c) 设计模块和过程时,要达到下列目的: 1) 创建更加容易调试和维护的过程2) 创建具有强大内聚力的模块3) 创建高度专用的过程4) 创建松散连接的过程5) 尽量使过程具有独立性6) 提高过程的扇入性7) 降低过程的扇出性编程原则:d) 为过程和模块赋予表义性强的名字 为了使代码更加容易理解,

8、最容易的方法之一是为你的过程赋予表义性强的名字。函数名DoIt、GetIt的可读性很难与CalculateSalesTax、 RetrieveUserID相比。由缩写过程名组成的代码很难理解和维护,没有理由再这样做了。给过程正确的命名,可使程序工程的调试和维护工作大大的改观。请认真对待过程命名的工作,不要为了减少键入操作量而降低过程的可理解度。实际应用举例:1) 给过程命名时应大小写字母混合使用。如果句子全使用大写字母,那么阅读起来就非常困难,而大小写字母混合使用的句子,阅读起来就很容易。 2) 定义过程名时不要使用缩写。如果你认为应用程序中的某些工程应使用缩写,那么请将这些情况加上注释,并确

9、保每个人在所有时间内都使用这些缩写。决不要在某些过程中对某些单词进行缩写,而在别的过程中却不使用缩写。 e) 为每个过程赋予单个退出点 f) 创建过程时,始终都应显式地定义它的作用域。 1) VB使用Public作为默认作用域。如果你真的想创建一个公用过程,请向代码阅读者说明这一点。2) 通过为每个过程赋予一个明确定义的作用域,可以减少代码阅读者需要投入的工作量。应确保你为过程赋予最有意义的作用域。如果一个过程只被同一模块中的另一个过程调用,那么请将它创建成专用过程。如果该过程是从多个模块中的多个过程中调用,请将该说明为公用过程。3) 每个过程都应以Public、Private或Friend开

10、头。g) 用参数在过程之间传递数据 应尽量避免使用模块级变量。一般来说,变量的作用域越小越好。为了减少模块级变量和全局变量,方法之一是将数据作为参数在不同过程之间传递,而不是让过程共享模块级变量或全局变量。1) 为每个参数指定数据类型。 2) 根据情况传递ByVal或ByRef。给每个参数冠以ByVal或ByRef所需要的规则是非常重要的 3) 始终要对数进行检验,决不要假设你得数据没有问题。程序员常犯的一个错误是在编写过程时假设数据没有问题。在初始编程阶段,当编写调用过程时,这样的假设并无大碍。这时你完全能够知道什么是参数的许可值,并按要求提供这些值。但如果你不对参数的数据进行检验,那么下列

11、情况就会给你带来很大麻烦:另外某个人创建了一个调用过程,但此人不知道允许的值;你在晚些时候添加了新的调用过程,并错误的传递了坏数据。 4) 当参数只接受较小的一组值时,请使用枚举值。使用枚举值,可降低编码时出现数据输入错误的可能性。只要有可能,就可考虑使用枚举值。 命名约定所有变量的定义应该遵循匈牙利命名法,它使用3字符前缀来表示数据类型和控件类型,3个字符的前缀必须小写,前缀后面是由表意性强的一个单词或多个单词组成的名字,而且每个单词的首写字母大写,其它字母小写,这样保证了对变量名能够进行正确的断句。这样,在一个变量名就可以反映出变量类型和变量所存储的值的意义两方面内容,这使得代码语句可读性

12、强、更加容易理解。变量类型前缀列表:数据类型前缀示例BooleanblnBlnLoggedInCurrencycurcurSalaryControlctlctlLastControlDoubledbldblMilesErrObjecterrerrLastErrorSinglesngsngYearsHandlehwndhwndPictureLonglnglngOnHandObjectobjobjUserTableIntegerintintAgeStringstrstrNameUser-defined typeudtudtEmployeeVariant (including Dates)vntvn

13、tDateHiredArrayaastrEmployees控件类型前缀列表:控件前缀举例CheckchkchkPrintCombocbocboTitleCommandcmdcmdCancelDatadatdatBiblioDirectory list boxdirdirSourceDrive list boxdrvdrvTargetFile list boxfilfilSourceFramefrafraLanguageFormfrmfrmMainGroup push buttongpbgpbChannelHorizontal scroll barhsbhsbVolumeImageimgimgI

14、conLabellbllblHelpMessageLinelinlinVerticalList boxlstlstResultCodesMDI child formmdimdiContactMenumnumnuFileOpenOLE containeroleolePhotoOption buttonoptoptSpanishPanelpnlpnlSettingsPicture boxpicPicDiskSpacePicture clipclpClpToolbarShapeshpShpCircleText boxtxtTxtAddressTimertmrTmrAlarmVertical scro

15、ll barvsbVsbRate结构当用户定义UDT(即用户自定义结构,Type结构)时,它应加上前缀“Type”,以示与其它类型的区别。其它开发人员如果遇到上述表格中未列举的类型,请书面通知相关管理人员,由管理人员集中更新列表内容,不得擅自启用未经确定的新变量或控件前缀。使用常量和枚举值使用常量常数很容易在数据输入时出错 常数存在的主要问题之一是你很容易在键入数字时出错,从而颠倒了数字的位置。例如,当你键入数字10876时,很容易的键入10867或18076。与处理变量和保留字的方法不同,vb的编译器并不在乎颠倒了位置和不正确的数字,有时简单的错误造成的问题不会立即表现出来,而当问题表现出来时,它们会以随机的计算错误的形式出现,这些错误很难准确定位。用常量来取代常数时,vb将在编译时检查常

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 医学/心理学 > 基础医学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号