VB编程的八个优良习惯第1/2页

VB编程的八个优良习惯
1、"&"替换"+" 
2、变量命名大小写,语句错落有秩,源代码维护方面 
3、请养成以下的“对象命名约定”良好习惯
4、在简单的选择条件情况下,使用IIf()函数 
5、尽量使用Debug.Print进行调试 
6、在重复对某一对象的属性进行修改时,尽量使用With....End With 
7、MsgBox中尽量使用消息图标,这样程序比较有规范 
8、在可能的情况下使用枚举

1、"&"替换"+"
在很多人的编程语言中,用“+”来连接字符串,这样容易导致歧义。良好的习惯是用“&”来连接字符串.

不正确: 
Dim sMessage As String
sMessage = "1" + "2"

正确: 
Dim sMessage As String
sMessage = "1" & "2"

注意:"&"的后面有个空格

2、变量命名大小写,语句错落有秩,源代码维护方面

下面大家比较一下以下两段代码:

读懂难度很大的代码:

Dim SNAME As String
Dim NTURN As Integer

If NTURN = 0 Then
If SNAME = "vbeden" Then
Do While NTURN < 4
NTURN = NTURN + 1
Loop
End If
End If

容易读懂的代码:

Dim sName As String
Dim nTurn As Integer

If nTurn = 0 Then
   If sName = "vbeden" Then
      Do While nTurn < 4
          nTurn = nTurn + 1
      Loop
   End If
End If

[返回索引]

3、请养成以下的“对象命名约定”良好习惯

推荐使用的控件前缀

控件类型 前缀 例子 
3D Panel  pnl pnlGroup 
ADO Data ado adoBiblio 
Animated button ani aniMailBox 
Check box chk chkReadOnly 
Combo box, drop-down list box cbo cboEnglish 
Command button cmd cmdExit 
Common dialog  dlg dlgFileOpen 
Communications  com comFax 
Control (当特定类型未知时,在过程中所使用的) ctr ctrCurrent 
Data dat datBiblio 
Data-bound combo box dbcbo dbcboLanguage 
Data-bound grid dbgrd dbgrdQueryResult 
Data-bound list box dblst dblstJobType 
Data combo dbc dbcAuthor 
Data grid dgd dgdTitles 
Data list dbl dblPublisher 
Data repeater drp drpLocation 
Date picker dtp dtpPublished 
Directory list box dir dirSource 
Drive list box drv drvTarget 
File list box fil filSource 
Flat scroll bar fsb fsbMove 
Form frm frmEntry 
Frame fra fraLanguage 
Gauge gau gauStatus 
Graph gra graRevenue 
Grid grd grdPrices 
Hierarchical flexgrid flex flexOrders 
Horizontal scroll bar hsb hsbVolume 
Image img imgIcon 
Image combo imgcbo imgcboProduct 
ImageList ils ilsAllIcons 
Label lbl lblHelpMessage 
Lightweight check box lwchk lwchkArchive 
Lightweight combo box lwcbo lwcboGerman 
Lightweight command button lwcmd lwcmdRemove 
Lightweight frame lwfra lwfraSaveOptions 
Lightweight horizontal scroll bar lwhsb lwhsbVolume 
Lightweight list box lwlst lwlstCostCenters 
Lightweight option button lwopt lwoptIncomeLevel 
Lightweight text box lwtxt lwoptStreet 
Lightweight vertical scroll bar lwvsb lwvsbYear 
Line lin linVertical 
List box lst lstPolicyCodes 
ListView lvw lvwHeadings 
MAPI message mpm mpmSentMessage 
MAPI session mps mpsSession 
MCI mci mciVideo 
Menu mnu mnuFileOpen 
Month view mvw mvwPeriod 
MS Chart ch chSalesbyRegion 
MS Flex grid msg msgClients 
MS Tab  mst mstFirst 
OLE container ole oleWorksheet 
Option button opt optGender 
Picture box pic picVGA 
Picture clip clp clpToolbar 
ProgressBar prg prgLoadFile 
Remote Data rd rdTitles 
RichTextBox rtf rtfReport 
Shape shp shpCircle 
Slider sld sldScale 
Spin spn spnPages 
StatusBar sta staDateTime 
SysInfo sys sysMonitor 
TabStrip tab tabOptions 
Text box txt txtLastName 
Timer tmr tmrAlarm 
Toolbar tlb tlbActions 
TreeView tre treOrganization 
UpDown upd updDirection 
Vertical scroll bar vsb vsbRate

--------------------------------------------------------------------------------
推荐使用的数据访问对象 (DAO) 的前缀
用下列前缀来指示数据访问对象 
数据库对象 前缀 例子 
Container con conReports 
Database db dbAccounts 
DBEngine dbe dbeJet 
Document doc docSalesReport 
Field fld fldAddress 
Group grp grpFinance 
Index ix idxAge 
Parameter prm prmJobCode 
QueryDef  qry qrySalesByRegion 
Recordset rec recForecast 
Relation rel relEmployeeDept 
TableDef tbd tbdCustomers 
User usr usrNew 
Workspace wsp wspMine

--------------------------------------------------------------------------------

应用程序频繁使用许多菜单控件,对于这些控件具备一组唯一的命名约定很实用。除了最前面 "mnu" 标记以外,菜单控件的前缀应该被扩展:对每一级嵌套增加一个附加前缀,将最终的菜单的标题放在名称字符串的最后。下表列出了一些例子。

推荐使用的菜单前缀 
菜单标题序列 菜单处理器名称 
File Open mnuFileOpen 
File Send Email mnuFileSendEmail 
File Send Fax  mnuFileSendFax 
Format Character mnuFormatCharacter 
Help Contents mnuHelpContents

当使用这种命名约定时,一个特定的菜单组的所有成员一个接一个地列在 Visual Basic 的“属性”窗口中。而且,菜单控件的名字清楚地表示出它们所属的菜单项。

为其它控件选择前缀

对于上面没有列出的控件,应该用唯一的由两个或三个字符组成的前缀使它们标准化,以保持一致性。只有当需要澄清时,才使用多于三个字符的前缀。

常量和变量命名约定
除了对象之外,常量和变量也需要良好格式的命名约定。本节列出了 Visual Basic 支持的常量和变量的推荐约定。并且讨论标识数据类型和范围的问题。

变量应该总是被定义在尽可能小的范围内。全局 (Public) 变量可以导致极其复杂的状态机构,并且使一个应用程序的逻辑非常难于理解。全局变量也使代码的重用和维护更加困难。

Visual Basic 中的变量可以有下列范围

范围 声明位置 可见位置 
过程级 过程,子过程或函数过程中的 ‘Private' 在声明它的过程中 
模块级 窗体或代码模块(.frm、.bas )的声明部分中的 ‘Private' 窗体或代码模块中的每一个过程 
全局 代码模块(.bas)的声明部分中的 ‘Public' 应用程序中的每一处

在 Visual Basic 的应用程序中,只有当没有其它方便途径在窗体之间共享数据时才使用全局变量。当必须使用全局变量时,在一个单一模块中声明它们,并按功能分组。给这个模块取一个有意义的名称,以指明它的作用,如 Public.bas。

较好的编码习惯是尽可能写模块化的代码。例如,如果应用程序显示一个对话框,就把要完成这一对话任务所需要的所有控件和代码放在单一的窗体中。这有助于将应用程序的代码组织在有用的组件中,并减小它运行时的开销。

当前1/2页 12下一页阅读全文

(0)

相关推荐

  • 10条PHP编程习惯助你找工作

    过去的几周对我来说是一段相当复杂的经历.我们公司进行了大裁员,我是其中之一,但却体验到了其中的乐趣.我从来没有被开除过,所以很难不去想得太多.我开始浏览招聘板块,一个全职PHP程序员的职位很吸引人,所以我寄去了简历并获得了面试机会.在面试之间,我和其主要的程序员们在咨询电话中聊了聊,最后他们给我出了一套测试题,其中有一道很耐人寻味. 找出以下代码的错误之处: <?function baz($y $z) { $x = new Array(); $x[sales] = 60; $x[profit]

  • PHP 引用是个坏习惯

    复制代码 代码如下: function binsearch(&$arr, $key, $value) { $low = 0; $high = count($arr); while ($low <= $high) { $mid = floor($low + ($high - $low) / 2); $item = $arr[$mid][$key]; if ($item == $value) { return $mid; } else if ($value > $item) { $low

  • PHP大神的十大优良习惯

    php大神养成记,具体内容如下 1.多阅读手册和源代码 没什么比阅读手册更值得强调的事了–仅仅通过阅读手册你就可以学习到很多东西,特别是很多有关于字符串和数组的函数.就在这些函数里面包括许多有用的功能,如果你仔细阅读手册,你会经常发现在以往的项目开发过程中,很多时候你在"重复发明轮子",而实际上你只需要一个核心函数就可以完成相应的功能.手册是你的朋友.另外,现在有很多使用PHP开发的开源程序.为什么不去学习和借鉴呢?下载一份开源的PHP应用程序的源代码,仔细阅读它吧.也许越大的项目越值

  • php代码书写习惯优化小结

    (1)使用 static 静态方法比普通方法快4倍(2)echo输出快于print(3)连接字符使用 , 代替 .(4)循环之前先取出最大值,而不是在循环里面取值    正确的方法      $max = count($array);      for ($i=0;$i<$max;$i++) {      echo $i;      }    错误的方法      for ($i=0;$i<count($array);$i++) {      echo $i;      }(5)使用unset

  • 在PHP中养成7个面向对象的好习惯

    在 PHP 编程早期,PHP 代码在本质上是限于面向过程的.过程代码 的特征在于使用过程构建应用程序块.过程通过允许过程之间的调用提供某种程度的重用. 但是,没有面向对象的语言构造,程序员仍然可以把 OO 特性引入到 PHP 代码中.这样做有点困难并且会使代码难于阅读,因为它是混合范例(含有伪 OO 设计的过程语言).使用 PHP 代码中的 OO 构造 - 例如能够定义和使用类.能够构建使用继承的类之间的关系以及能够定义接口 - 可以更轻松地构建符合优秀 OO 实践的代码. 虽然没有过多模块化的

  • [php]正则表达式的五个成功习惯

    正则表达式难于书写.难于阅读.难于维护,经常错误匹配意料不到的文本或者错过了有效的文本,这些问题都是由正则表达式的表现和能力引起的.每个元字符(metacharacter)的能力和细微差别组合在一起,使得代码不借助于智力技巧就无法解释.       许多包含一定特性的工具使阅读和编写正则表达式变得容易了,但是它们又很不符合习惯.对于很多程序员来说,书写正则表达式就是一种魔法艺术.他们坚持自己所知道的特征并持有绝对乐观的态度.如果你愿意采用本文所探讨的五个习惯,你将可以让你设计的正则表达式经受的住

  • PHP 编程的 5个良好习惯

    根据具体的情况,一般的开发人员往往比优秀的开发人员的效率低 10%~20%.优秀的开发人员的效率更高,因为他们拥有丰富的经验和良好的编程习惯.不良的编程习惯将会影响到效率.本文通过展示一些良好的编程习惯,帮助您成为更优秀的程序员. 这些良好的编程习惯不仅能提高效率,还能让您编写出在应用程序的整个生命周期中易于维护的代码.编写出来的代码可能需要大量的维护:应用程序的维护是一笔很大的开支.养成良好的编程习惯能够提高设计质量(比如模块化),从而使代码更加容易理解,因此维护就更加容易,同时也降低维护成本

  • 编写安全 PHP应用程序的七个习惯深入分析

    在提及安全性问题时,需要注意,除了实际的平台和操作系统安全性问题之外,您还需要确保编写安全的应用程序.在编写 PHP 应用程序时,请应用下面的七个习惯以确保应用程序具有最好的安全性:•验证输入•保护文件系统•保护数据库•保护会话数据•保护跨站点脚本(Cross-site scripting,XSS)漏洞•检验表单 post•针对跨站点请求伪造(Cross-Site Request Forgeries,CSRF)进行保护验证输入在提及安全性问题时,验证数据是您可能采用的最重要的习惯.而在提及输入时

  • 国外PHP程序员的13个好习惯小结

    也就是本文列举的这13个PHP编码好习惯,如果你有更好的建议,欢迎在本文后面的评论中发表,我这个人是喜欢求知的1.使用select从相同的数据库查询信息时,使用一个join语句一次性整齐地获取你需要的所有信息,而不要写多个mysql_query/while/mysql_fetch_array语句. 2.如果你在多个文件中调用了一个数据库连接,创建一个connection.php文件保存你的连接变量,在需要的地方将这个文件包括进来. 3.对于小型项目,将你所有的函数写在一个文件中,如果是大型项目就

  • VB编程的八个优良习惯第1/2页

    VB编程的八个优良习惯 1."&"替换"+"  2.变量命名大小写,语句错落有秩,源代码维护方面  3.请养成以下的"对象命名约定"良好习惯 4.在简单的选择条件情况下,使用IIf()函数  5.尽量使用Debug.Print进行调试  6.在重复对某一对象的属性进行修改时,尽量使用With....End With  7.MsgBox中尽量使用消息图标,这样程序比较有规范  8.在可能的情况下使用枚举 1."&"

  • VB编程基础课教程

    VB编程基础课 什么是API API文本游览器  API函数声明 数据类型与"类型安全"  常 数 结 构  小 结 一些API函数集: 控件与消息函数.硬件与系统函数.菜单函数.绘图函数  什么是API   首先,有必要向大家讲一讲,什么是API.所谓API本来是为C和C++程序员写的.API说来说去,就是一种函数,他们包含在一个附加名为DLL的动态连接库文件中.用标准的定义来讲,API就是Windows的32位应用程序编程接口,是一系列很复杂的函数,消息和结构,它使编程人员可以用不

  • Android编程实现Gallery中每次滑动只显示一页的方法

    本文实例讲述了Android编程实现Gallery中每次滑动只显示一页的方法.分享给大家供大家参考,具体如下: import android.content.Context; import android.util.AttributeSet; import android.view.KeyEvent; import android.view.MotionEvent; import android.widget.Gallery; public class DetialGallery extends

  • Python多线程编程(八):使用Event实现线程间通信

    使用threading.Event可以实现线程间相互通信,之前的Python:使用threading模块实现多线程编程七[使用Condition实现复杂同步]我们已经初步实现了线程间通信的基本功能,但是更为通用的一种做法是使用threading.Event对象.使用threading.Event可以使一个线程等待其他线程的通知,我们把这个Event传递到线程对象中,Event默认内置了一个标志,初始值为False.一旦该线程通过wait()方法进入等待状态,直到另一个线程调用该Event的set

  • PHP编程中八种常见的文件操作方式

    文件和目录的操作 PHP处理本地服务器上的文件和目录是非常方便的,但有时候会出现权限和路径相关的问题 1.打开文件 resource fopen ( string filename, string mode [, bool use_include_path [, resource zcontext]] ) $handle = fopen(filename,mode)//打开文件,返回代表此文件的资源的句柄 文件名称可以使用相对路径或者绝对路径也可以使用网络协议模式,打开模式具有r\r+\w\w+

  • python 示例分享---逻辑推理编程解决八皇后

    可以和Haskell , Prolog 一样做到模式匹配, 建立逻辑推到规则,描述问题,得出答案. from pyDatalog import pyDatalog pyDatalog.create_atoms( 'N, N1, X, Y, X0, X1, X2, X3, X4, X5, X6, X7' ) pyDatalog.create_atoms( 'ok, queens, next_queen, pred, pred2' ) size = 8 ok( X1, N, X2 ) <= ( X1

  • Java并发编程示例(八):处理线程的非受检异常

    Java语言中,把异常分为两类: 受检异常: 这类异常必须在throws子句中被显式抛出或者在方法内被捕获.例如,IOException异常或ClassNotFoundException异常. 非受检异常: 这类异常不需要显式抛出或捕获.例如,NumberFormatException异常. 当一个受检异常在Thread对象的run()方法中被抛出时,我们必须捕获并处理它,因为run()方法不能抛出异常.而一个非受检异常在Thread对象的run()方法中被抛出时,默认的行为是在控制台打印出堆栈

  • ASP.NET编程中的十大技巧第1/2页

    在本篇文件中,我们将讨论编程人员在使用ASP.NET开发应用程序时需要注意的10个技巧,这些技巧涉及从缺省的控件.表单名的改变到StringBuilder类的使用,有助于编程人员能够尽快地适应.NET环境. 1.在使用Visual Studio .NET时,除直接或非引用的对象外,不要使用缺省的名字. .NET带来的好处之一是所有的源代码和配置文件都是纯文本文件,能够使用Notepad或WordPad等任意的文本编辑器进行编辑.如果不愿意,我们并非一定要使用Visual Studio .NET作

随机推荐