打印

好书大家评--《VISUAL BASIC 编程标准》

[复制链接]
1983|16
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
古道热肠|  楼主 | 2007-11-22 11:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
   很久以前,在图书馆借过一本书叫《VISUAL BASIC 编程标准》,是微软出版社出版的中译本,写得很好,译得也很好。
   前阵子上网找得此书的PDF文档,俺觉得好东西不能独享,拿出来与大家共赏,希望大家能多读书,读好书,好读书。
   后续发贴将分包介绍与上传该PDF文档。
   

相关帖子

沙发
古道热肠|  楼主 | 2007-11-22 11:54 | 只看该作者

首先贴上内容简介

    本书是讲述Visual Basic编程标准的一本专著。全书分5个部分,共14章。分别讲述使用Visual Basic编程时总体设计、代码结构设计、用户界面设计和小组软件开发应遵循的标准。全书配有大量应用实例,便于读者学以致用。本书适用于Visual Basic 编程人员,对于使用其他语言的编程人员,也有很高的参考价值。 

使用特权

评论回复
板凳
古道热肠|  楼主 | 2007-11-22 11:55 | 只看该作者

贴上目录,让大家有个总体把握

目      录
译者序
前言
第一部分   设      计
第1章   创建对象和工程模板    1
1.1   使用对象模板    1
1.2   使用项目模板    2
1.2.1   Visual Basic项目模板概述    2
1.2.2   创建自定义项目模板    4
1.3   自定义模板的行为特性    4
1.3.1   激活模板和取消模板的激活状态    4
1.3.2   设置模板文件夹    5
1.4   编程原则    5
1.4.1   不要将对象模板中的特定应用程序
           的值或特定组件的值进行硬编码    5
1.4.2   在对象模板中提供内容广泛的注
          释,尤其是在需要进行修改的地方
          要加上注释    7
第2章   设计模块和过程    9
2.1   创建具有很强内聚力的模块    9
2.2   创建松散连接和高度专用的过程    10
2.2.1   使所有过程都执行专门的任务    10
2.2.2   尽量使过程成为自成一体的独立
           过程    11
2.2.3   尽量减少扇入和扇出    12
2.2.4   设法按字母顺序对模块中的过程
           进行排序    12
2.3   编程原则    13
2.3.1   为过程和模块赋予表义性强的名字    13
2.3.2   为每个过程赋予单个退出点    15
2.3.3   为每个过程赋予明确定义的作用域    18
2.3.4   用参数在过程之间传递数据    18
2.3.5   使用统一和直观明了的方式来调
          用过程    21
第二部分   编程中使用的约定
第3章   命名约定    23
3.1   数据类型后缀    23
3.2   匈牙利标记法    23
3.2.1   表示变量数据类型的前缀    24
3.2.2   表示变量的作用域的前缀    25
3.2.3   其他前缀    26
第4章   使用常量和枚举值    28
4.1   使用常量    28
4.1.1   幻数很容易在数据输入时出错    28
4.1.2   幻数很难更新    28
4.1.3   常量使代码更容易阅读    29
4.2   使用枚举值    29
4.2.1   创建自定义的枚举值    30
4.2.2   使用自定义枚举值    30
4.3   编程原则    31
4.3.1   给所有常量加上前缀c_和作用域
           指示符    31
4.3.2   无论什么作用域,均用常量取代
           幻数    33
4.3.3   只要可能,均应使用枚举    33
4.3.4   引用控件数组的元素时请使用常
           量    34
4.3.5   将应用程序前缀或公司特定的前
           缀用于枚举成员    35
4.3.6   当枚举值不能使用时,使用常量    36
4.3.7   当参数接受有限数量的值时,请
           使用枚举    38
4.3.8   验证作为枚举类型传递的值    38
第5章   变量    41
5.1   编程原则    41
5.1.1   定义有焦点的变量    41
5.1.2   为变量赋予表义性强的名字    43
5.1.3   在变量名中混合使用大小写字母    46
5.1.4   只对常用变量名和长变量名进行
           缩写    46
5.1.5   使用统一的量词    47
5.1.6   使用肯定形式的布尔变量    47
5.1.7   显式说明变量    49
5.1.8   用精心选择的数据类型说明变量    51
5.1.9   只有在绝对必要时才使用Variant
           数据类型    54
5.1.10   尽量缩小变量的作用域    56
5.1.11   使用“和”字符对字符串进行
             并置操作    58
第6章   对错误的处理    60
6.1   Visual Basic的编译选项    60
6.2   Err对象    61
6.3   错误处理程序的类型    62
6.3.1   使用On Resume Next以忽略错误    62
6.3.2   使用On Error GoTo转移执行的代
           码流    64
6.3.3   错误处理程序与调用栈    68
6.3.4   使用On Error GoTo 0,在运行时
           取消错误处理程序的激活状态    69
6.3.5   用调试方式激活错误处理程序和
           取消其激活状态    70
6.4   中央错误处理程序    71
6.5   编程原则    76
6.5.1   使用On Error GoTo语句捕获意
           料之外的错误    76
6.5.2   使用On Error Resume Next语句
           捕获预料之中的错误    77
6.5.3   创建统一的错误处理程序块    79
第三部分   代码结构
第7章   代码的格式化    83
7.1   编程原则    86
7.1.1   不要将多个语句放在同一行上    86
7.1.2   使用行接续符    87
7.1.3   缩进后续行    90
7.1.4   运用语句缩进来显示代码的组织
           结构    92
7.1.5   对模块的Declarations部分中的代
           码进行缩进,显示其从属关系    98
7.1.6   使用白空间将相关语句组合在一
           起    99
第8章   代码的注释    106
8.1   编程原则    106
8.1.1   用文字说明代码的作用    106
8.1.2   如果你想违背好的编程原则,请
           说明为什么    107
8.1.3   用注释来说明何时可能出错和为
           什么出错    108
8.1.4   在编写代码前进行注释    109
8.1.5   纯色字符注释行只用于主要注释    110
8.1.6   避免形成注释框    112
8.1.7   使用撇号来指明注释    112
8.1.8   增强注释的可读性    114
8.1.9   对注释进行缩进,使之与后随的
           语句对齐    115
8.1.10   为每个过程赋予一个注释标头    115
8.1.11   使用内部注释来说明代码进程    118
8.1.12   用行尾注释来说明变量    122
第9章   循环结构    123
9.1   编码指导原则    123
9.1.1   使用For...Next,使代码循环运行
           规定的次数    123
9.1.2   使用Do...loop,使循环按照未定
           次数来运行    130
9.1.3   用Do...Loop取代While...Wend    135
9.1.4   使用For Each...Next,循环运行
           一个集合的所有成员    135
第10章   控制代码流    140
10.1   编程原则    140
10.1.1   当根据一个条件是True还是False
             来作出判断时,使用If...Then...Else    140
10.1.2   对非布尔表达式与各种可能的
             值进行比较时,使用Select Case
            语句    143
10.1.3   用行尾注释使嵌套式判断结构
             更加清楚    147
10.1.4   对表达式进行格式化,以便进行
            准确的计算和代码的理解    148
10.1.5   尽可能不要使用GoSub    149
10.1.6   只有当没有其他替代方法或者
             当转移到一个错误处理程序或单
             个退出点时,才使用GoTo语句    150
第四部分   用户界面的操作
第11章   用户界面的设计    153
11.1   界面设计必须保持一致    153
11.2   编程原则    154
11.2.1   为窗体赋予统一的外观和行为
              特性    154
11.2.2   使控件具备标准外观    162
11.2.3   在规定情况下使用最佳界面组
             件    167
11.2.4   提供便于理解和使用的菜单    171
11.2.5   尽可能使用系统颜色    177
第12章   用户的输入和通知消息    179
12.1   用户的输入    179
12.2   通知消息    180
12.3   编程原则    180
12.3.1   确保完善的键盘导航和交互操
             作特性    180
12.3.2   提供统一和直观的鼠标交互操
              作特性    185
12.3.3   创建有创意和功能良好的消息框    193
第五部分   小组操作的项目
第13章   版本控制    199
13.1   编程原则    199
13.1.1   每次对程序编译后应将版本号
             递增1    199
13.1.2   在About对话框中显示程序的版
             本号    200
13.1.3   保持ActiveX组件中的向后兼容
              性    201
13.1.4   在Readme文件中记下所做的修
             改    205
13.1.5   对文件做好备份    206
13.1.6   使用Microsoft Visual SourceSafe
             来维护源代码的版本    206
第14章   源代码控制    207
14.1   小组软件开发必须解决的问题    207
14.2   了解Visual SourceSafe    208
14.3   安装Visual SourceSafe    208
14.3.1   创建Visual SourceSafe数据库    209
14.3.2   打开Visual SourceSafe数据库    210
14.3.3   将用户添加给Visual SourceSafe
             数据库    211
14.3.4   将Visual Basic工程置于Source-
             Safe控件下    211
14.4   Visual Basic项目与Visual SourceSafe    213
14.4.1   指定工作文件夹    214
14.4.2   创建项目的工作拷贝    215
14.4.3   使用Visual SourceSafe Explorer
             借出文件    216
14.4.4   通过Visual Basic IDE借出和归
             还文件    218
14.4.5   将新文件添加给源代码控制下
             的项目    219
14.4.6   获取文件的最新版本    219
14.4.7   对不同版本进行比较    221.

使用特权

评论回复
地板
孤独泪| | 2007-11-22 12:09 | 只看该作者

为什么不直接把pdf共享出来

使用特权

评论回复
5
古道热肠|  楼主 | 2007-11-22 12:34 | 只看该作者

上传第一章第二包

大家可将此包与第一包合并解压缩,即能看到完整的第一章了。
相关链接:https://bbs.21ic.com/upfiles/img/200711/2007112212341130.rar

使用特权

评论回复
6
gyt| | 2007-11-23 12:08 | 只看该作者

谢谢啦!!!

使用特权

评论回复
7
ldyeah| | 2007-11-23 13:29 | 只看该作者

毕业设计用的VB

不过毕业之后就没用过了
C用得多点

使用特权

评论回复
8
古道热肠|  楼主 | 2007-11-23 16:17 | 只看该作者

用VB作工具软件很容易实现,建议搞单片机开发的都学学

   只有拥有了很多实用的工具,解决问题才能得心应手。

使用特权

评论回复
9
aweyfan| | 2007-11-23 16:19 | 只看该作者

有电子版的吗

使用特权

评论回复
10
567| | 2007-11-23 18:50 | 只看该作者

楼主吊人胃口,等不及了,从百度上搜了下载全了

使用特权

评论回复
11
古道热肠|  楼主 | 2007-11-24 13:43 | 只看该作者

这书要慢慢看,反复看,才能看得真,学得实!

  这书虽然是讲VB编程,但对单片机开发人员领悟编程之道也大有用处。

使用特权

评论回复
12
古道热肠|  楼主 | 2007-11-24 13:46 | 只看该作者

上传第二章第一包

使用特权

评论回复
13
古道热肠|  楼主 | 2007-11-24 13:58 | 只看该作者

上传第二章第二包

第二章写得很精彩!
摘录部分内容如下:
2.3 编程原则
2.3.1 为过程和模块赋予表义性强的名字
为了使代码更加容易理解,最容易的方法之一是为你的过程赋予表义性强的名字。函数名
D o I t、G e t I t和P r i n t I t的可读性很难与C a l c u l a t e S a l e s Ta x、R e t r i e v e U s e r I D和P r i n t S p r e a d S h e e t相比。
下载
给过程命名时,首先要记住D O S系统的时代已经过去了(虽然它并没有完全消亡,但基本
上不怎么使用了)。从D O S系统时代过来的许多编程人员仍然必须设法冲破阻碍程序开发的某
些习惯,而不是从D O S开发中得到好处。例如,过去常用的一些编程语言限制了在定义过程名
时可以使用的字符数。我们仍然看到一些程序员选择C A L C TA X、G E T I T、G E T R E C和
D E L R E C之类的过程名。如果你也这样做的话,那么现在是你改变这种做法的时候了。由缩写
过程名组成的代码很难理解和维护,没有理由再这样做了。当然, C a l c u l a t e S a l e s Ta x,
R e t r i e v e E m p l o y e e和D e l e t e E m p l o y e e之类的过程名比老式过程名更容易理解。
给过程正确地命名,可使程序工程的调试和维护工作大大改观。请认真对待过程命名的工
作,不要为了减少键入操作量而降低过程的可理解度。
不正确:
Private Function InvoicePost()As Boolean
Private Function PrintIt()As Boolean
Public Sub SaveItem()
Public Sub DeleteRecord()
正确:
Private Function PostInvoice()As Boolean
Private Function PrintSpreadsheet()As Boolean
Public Sub SavePicture()
Public Sub DeleteContact()
实际应用举例
(1) 给过程命名时应该大小写字母混合使用。过去,有些编程语言只允许用大写字母给过
程命名。Visual Basic中不存在这种规定,你应该混合使用大小写字母给所有的过程命名。如果
句子全部使用大写字母,那么阅读起来就非常困难,而大小写字母混合使用的句子,阅读起来
就很容易。对于过程的名字来说,情况也是一样。另外,全部是小写字母的过程名几乎与全部
是大写字母的过程名一样难读。例如,我们可以将E m p l o y e e A g e与E M P L O Y E E A G E 和
e m p l o y e e a g e作一比较。另外,在变量名中使用下划线来代替空格(例如E m p l o y e e _ A g e),这
也是可以的。不过,如果使用了下划线,那么应该在其他地方也统一使用下划线。请注意,不
能在变量名中使用空格。
不正确:
Private Function POSTINVOICE()As Boolean
Public Sub savepicture()
正确:
Private Function PostInvoice()As Boolean
Public Sub SavePicture()
(2) 定义过程名时不要使用缩写。如果你问两个人,他们是如何给某个单词缩写的,可能
会得到两个不同的答复。如果你认为应用程序中的某些工程应该使用缩写,那么请将这些情况
加上注释,并确保每个人在所有时间内都使用这些缩写。决不要在某些过程中对某些单词进行
缩写,而在别的过程中却不使用缩写。
不正确:
Private Function SaveEmp()As Boolean
Public Sub DelContact()
Public Sub CalcTax()
14计计第一部分设计
下载
正确:
Private Function SaveEmployee()As Boolean
Public Sub DeleteContact()
Public Sub CalculateSalesTax()
2.3.2 为每个过程赋予单个退出点
对事件驱动的应用程序中的代码进行调试是非常麻烦的,因为过程是从别的过程中调用
(扇出)的,代码的执行往往像台球桌上的台球弹来弹去。Exit Function和Exit Sub这样的简单
语句可能进一步增强这种复杂性。如果每个过程拥有单个进入点,这将是很有意义的。你不希
望不同的调用过程能够进入不同代码位置中的某个过程,这会带来很大的问题。每个过程也应
该拥有单个退出点,尽管这个问题人们并不十分重视。
确认控件总是以相同的方式在同一行代码上退出一个过程时,调试就会变得简单得多。如
果让一个过程从代码中的任何位置退出,那么你怎样能够确定清除代码总是在过程退出之前执
行呢?当然,也许你能够记住过程中确切的运行情况,但是,当另一个编程员对过程进行编辑
时,增加了一个Select Case子句,并且使用Exit Sub语句来退出该过程,那将会出现什么问题
呢?应该执行以便清除该过程的任何代码并没有使用,因此很容易出现错误。
解决这个问题的办法是在每个过程中创建一个P R O C _ E X I T标注。在这个标注下面,放入
所有必要的清除代码和一个相应的E x i t语句(Exit Sub、Exit Function和Exit Property)。每当你
需要退出该过程时,只需加上一个G o To PROC_Exit语句,而不必直接调用E x i t命令。
创建单个退出点,可使过程更像是黑箱。代码的执行从一个门进来,代码的退出则从另一
个门出去,因此产生的错误比较少,调试也不太难。创建单个退出点的操作是非常复杂的,但
是它的好处是极大的。得到的好处大于你付出的努力,这种情况并不是总能碰到,因此务必充
分利用它。
不正确:
相关链接:https://bbs.21ic.com/upfiles/img/200711/2007112413495467.rar

使用特权

评论回复
14
huangqi412| | 2007-11-24 16:54 | 只看该作者

俺被吊的不行拉,自己搜去

使用特权

评论回复
15
alice84| | 2007-11-24 16:58 | 只看该作者

什么时候把串行那部分也贴出来啊?

使用特权

评论回复
16
古道热肠|  楼主 | 2007-11-26 10:45 | 只看该作者

上传第三章

   书非借不能读也!希望大家用心读,切不可浅尝则止。
相关链接:https://bbs.21ic.com/upfiles/img/200711/20071126104331992.rar

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

284

主题

6411

帖子

16

粉丝