目      录
译者序
前言
第一部分   设      计
第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.
