《Visual Basic.NET编程标准》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:(美)James Foxall著;附昭伟译
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2003
  • ISBN:7302066086
  • 页数:355 页
图书介绍:本书介绍如何在Visual Basic.NET中进行规范化编程,提供对不严谨风格进行改进的方法。

第Ⅰ部分 设计 3

第1章 创建对象和项目模板 3

1.1 使用对象模板 3

1.2 使用项目模板 5

1.3 编程原则 7

1.3.1 绝不要在对象模板中对应用程序和组件特有的值进行硬编码 7

1.3.2 在对象模板中特别是需修改之处提供广泛的注释和任务 9

第2章 设计模块和过程 11

2.1 创建具有很强内聚性的模块 12

2.2 创建松耦合和高度特定化过程 13

2.2.1 使所有过程都执行特定的功能 13

2.2.2 尽量提高过程的独立性 14

2.2.3 最小化扇入和扇出 15

2.2.4 尽量按字母表顺序排列模块中的过程 16

2.3 编程原则 17

2.3.1 给过程和模块起一个表意性强的名称 17

2.3.2 给每个过程设定惟一的出口 18

2.3.3 给每个过程定义一个明确的范围 20

2.3.4 在过程之间用参数传递数据 21

2.3.5 使用统一和直观明了的方式调用过程 23

2.3.6 使用Return语句返回函数值 25

2.3.7 在复杂函数中使用暂存变量 26

第Ⅱ部分 约定 31

第3章 命名约定 31

3.1 匈牙利表示法 32

3.2 什么情况下不用匈牙利表示法 33

3.3 指明变量的数据类型 34

3.4 指明变量的范围 35

3.5 其他对象前缀 36

第4章 使用常量和枚举 40

4.1 使用常量 40

4.1.1 幻数容易出现数据输入错误 40

4.1.2 幻数难以更新 41

4.1.3 常量使代码更容易阅读 41

4.2 使用枚举 41

4.2.1 创建自定义枚举 42

4.2.2 使用自定义枚举 43

4.3 编程原则 44

4.3.1 给所有常量加上前缀c_和范围指示符 44

4.3.2 用常量代替幻数而不必考虑可见范围 46

4.3.3 尽可能使用枚举 47

4.3.4 参数接收数量有限的值时使用枚举 48

4.3.5 验证作为枚举类型传递的值 48

第5章 变量 52

5.1 编程原则 52

5.1.1 定义用途明确的变量 52

5.1.2 给变量起一个表意性强的名称 56

5.1.3 在变量名中混合使用大小写字母 59

5.1.4 只对常用变量名或长变量名使用缩写 59

5.1.5 使用统一限定词 60

5.1.6 使用肯定形式的Boolean变量 61

5.1.7 显式声明变量 62

5.1.8 用精选的数据类型声明变量 64

5.1.9 只有在绝对必要时才使用Object数据类型 68

5.1.10 使用Option Strict选项严格限制类型 70

5.1.11 最小化变量可见范围 72

5.1.12 尽可能使用初始值设定项 74

5.1.13 使用与号(?)连接字符串 74

5.1.14 用字符串长度属性判断字符串是否为空 75

第Ⅲ部分 编码结构 79

第6章 格式化代码 79

6.1 编程原则 82

6.1.1 不要在同一行中放入多个语句 82

6.1.2 使用续行符 83

6.1.3 缩进连续行 87

6.1.4 使用缩进显示代码的组织结构 90

6.1.5 在模块声明部分缩进代码以显示从属关系 97

6.1.6 用空行把相关的语句分组 98

6.1.7 创建可折叠的代码区域以便管理 104

第7章 注释代码 107

7.1 编程原则 108

7.1.1 用文字说明代码的作用 108

7.1.2 解释为什么要违背良好的编程风格 109

7.1.3 在写代码前先写注释 109

7.1.4 单色字符注释行仅用于主要注释 110

7.1.5 不要创建注释框 112

7.1.6 用撇号表示注释 113

7.1.7 增强注释的可读性 114

7.1.8 缩进注释使之与随后的语句对齐 116

7.1.9 给每个过程写一个注释头 116

7.1.10 用内嵌注释说明代码进程 120

7.1.11 用行尾变量来说明变量声明 125

第8章 循环结构 126

8.1 编程原则 126

8.1.1 循环次数确定时使用For…Next循环 126

8.1.2 循环次数不确定时使用Do…Loop循环 134

8.1.3 用Do…Loop循环代替While…End While 140

8.1.4 使用For Each…Next循环遍历集合中的成员 140

第9章 控制代码流 144

9.1 编程原则 145

9.1.1 判断基于一个条件的值是否为真时使用If…Then…Else分支结构 145

9.1.2 当把一个非Boolean表达式与多个值进行比较时使用Select Case语句 148

9.1.3 使用行尾注释增加嵌套判断结构的清晰度 152

9.1.4 格式化表达式以便准确求值和易于理解 154

9.1.5 仅在别无选择时才使用GoTo语句 156

第10章 异常处理 159

10.1 异常对象 160

10.2 异常处理程序的类型 160

10.3 使用Try…Catch…Finally语句编写异常处理程序 161

10.3.1 捕获异常 163

10.3.2 异常处理程序和调用堆栈 165

10.4 中央异常处理程序 167

10.4.1 把异常写入文本文件 170

10.5 编程原则 173

10.5.1 用Try…Catch…Finally处理不可预料的和可预料的异常 173

10.5.2 处理不可预料的异常时使用统一的格式 174

10.5.3 永远不要指责用户 175

第Ⅳ部分 高级编程 179

第11章 编程对象 179

11.1 什么是对象 179

11.2 垃圾回收 180

11.3 编程原则 181

11.3.1 要尽早绑定对象 181

11.3.2 要尽可能使用NET对象而不是调用API函数 183

11.3.3 公开公共属性而不是公开公共变量 184

11.3.4 无论打开什么资源都要关闭它们 186

11.3.5 使用OverLoads创建名称相同但参数列表不同的属性和方法 186

11.3.6 为所有对象创建Dispose方法 188

11.3.7 要尽可能为类创建构造函数 190

11.3.8 仅在必要时才在类中添加终结器 192

11.3.9 仅在必要时才强制执行垃圾回收 194

11.3.10 使用With…End With提高性能和代码的可读性 194

第12章 文件操作 196

12.1 System.IO 196

12.1.1 System.IO.File和System.IO.Directory 196

12.1.2 System.IO.Path 200

12.2 System.Environment 201

12.3 编程原则 202

12.3.1 把所有临时文件都保存在用户的Temp文件夹中 202

12.3.2 用系统指定的临时文件名保存临时文件 203

12.3.3 及时关闭不再需要访问的文件 204

12.3.4 决不要在程序中使用硬编码路径 206

12.3.5 使用System.IO.Path来操纵文件路径 206

12.3.6 文件的默认保存路径为用户的My Documents文件夹 207

12.3.7 将文件添加到用户最近用过的文档列表中 207

12.3.8 删除重要文件时请求确认 208

第13章 调试 210

13.1 从Visual Basic 6到Visual Basic.NET 210

13.1.1 用数据提示查看表达式的值 210

13.1.2 用Debug.Assert定义断言 211

13.2 条件编译 214

13.2.1 编写条件编译代码 214

13.2.2 用项目【属性页】对话框设置编译器常量 216

13.2.3 用命令行设置编译器常量 216

13.3 断点 217

13.3.1 设置和删除断点 217

13.3.2 进入中断模式 217

13.3.3 使用【断点】窗口管理断点 219

13.3.4 用Stop语句进入中断模式 222

13.4 Visual Basic.NET调试窗口 222

13.4.1 【自动】窗口 223

13.4.2 【局部变量】窗口 224

13.4.3 Me窗口 224

13.4.4 【监视】窗口 225

13.4.5 【快速监视】窗口 226

13.4.6 【命令】窗口 226

13.4.7 【输出】窗口 228

13.4.8 【任务列表】窗口 229

13.4.9 【模块】窗口 231

13.4.10 【内存】窗口 231

13.4.11 【调用堆栈】窗口 231

13.5 编程原则 233

13.5.1 启动项目时不进行调试而不是删除或禁用调试代码 233

13.5.2 当调用Debug.Assert时不要创建修改数据的表达式 234

13.5.3 断言目的不明确时要指定自定义断言文本 234

13.5.4 尽可能使用Option Strict选项 235

13.5.5 给全部过程都加上异常处理代码 235

13.5.6 在条件编译的调试代码中使用固有的DEBUG常量 235

13.5.7 用断点来确保复杂的过程得到完全执行 235

13.5.8 尽可能使用断点而不要使用Stop语句 235

13.5.9 创建注释作为TODO任务 236

第Ⅴ部分 用户交互 239

第14章 界面设计 239

14.1 设计一致界面的必要性 239

14.2 编程原则 241

14.2.1 使所有窗体具有一致的外观和行为 241

14.2.2 用标准的外观显示控件 255

14.2.3 根据具体情况使用最好的界面组件 262

14.2.4 提供可理解并且有意义的菜单 268

14.2.5 尽可能使用系统颜色 274

第15章 用户输入与通知 278

15.1 用户输入 278

15.2 通知 279

15.3 编程原则 280

15.3.1 确保完整的键盘导航与交互 280

15.3.2 提供直观一致的鼠标交互 284

15.3.3 创建有意义且实用的消息框 290

15.3.4 如果应用程序允许用户打开并保存很多文件则应用程序应记住用户所选的路径 296

第16章 发布解决方案 297

16.1 准备要发布的项目 297

16.2 创建自定义安装程序 297

16.2.1 添加项目的输出 299

16.2.2 定义项目输出的生成选项 303

16.2.3 向安装程序中添加文件 303

16.2.4 文件属性 304

16.2.5 改变【应用程序文件夹】的默认位置 305

16.2.6 使用目标计算机上的文件夹 307

16.2.7 改变文件的安装文件夹 309

16.2.8 创建快捷方式 310

16.2.9 在安装过程中修改注册表 310

16.2.10 修改自定义安装程序的用户界面 311

16.2.11 指定配置细节 312

16.2.12 指定卸载信息 314

16.2.13 建立自定义安装程序 316

16.3 编程原则 317

16.3.1 对界面进行拼写检查 317

16.3.2 调整窗体上控件的对齐方式 317

16.3.3 测试所有窗体的Tab键顺序 317

16.3.4 检查重复的访问键 317

16.3.5 检查所有对话框的接受和取消按钮 318

16.3.6 检查消息对话框的格式 318

16.3.7 确保每一个过程都有异常处理程序 318

16.3.8 核实所使用第3方组件的版本是否正确 318

16.3.9 为所有已发布的程序指定逻辑的根命名空间 318

16.3.10 对程序进行彻底的测试与调试 319

16.3.11 检查条件编译常量 319

16.3.12 不要将文件安装到用户的桌面上 319

16.3.13 不要将快捷方式直接放在Program Files文件夹中 319

16.3.14 除非能够确定所有目标计算机安装了恰当的Windows Installer否则应该包含引导程序 319

16.3.15 将安装项目命名为“程序名Installer” 320

16.3.16 为项目设置合适的版本号 320

16.3.17 为每个已安装的组件创建一个有意义的图标 320

16.3.18 务必将路径[ProgramFilesFloder][Manufacturer]\[ProductName]作为默认的【应用程序文件夹】 320

16.3.19 除非有特殊原因,否则应在【应用程序文件夹】中创建所有自定义文件夹 320

16.3.20 只在需要时包含调试信息 320

16.3.21 将所有COM文件的SharedLegacy属性设置为True 321

16.3.22 将关键文件的Vital属性设置为True 321

16.3.23 为安装程序项目设置合适的生成顺序 321

16.3.24 除非有特殊原因,否则应将创建的所有自定义注册表键值设置为DeleteAtUninstall 322

第Ⅵ部分 团队项目 325

第17章 版本管理 325

17.1 了解程序集 325

17.2 编程原则 329

17.2.1 每次编译程序时递增版本号 329

17.2.2 在【关于】对话框中显示程序的版本号 330

17.2.3 将组件安装在与客户端使用该组件相同的文件夹中 331

17.2.4 推出组件的新版本时要保持兼容性 331

17.2.5 修改Readme文件中的内容 334

17.2.6 备份自己的文件 334

17.2.7 使用Visual SourceSafe维护源代码的版本 335

第18章 源代码管理 336

18.1 确定团队开发所面临的挑战 336

18.2 了解Visual SourceSafe 337

18.3 设置Visual SourceSafe 338

18.3.1 创建Visual SourceSafe数据库 338

18.3.2 打开Visual SourceSafe Database 340

18.3.3 向Visual SourceSafe数据库中添加用户 341

18.3.4 将Visual Basic项目置于Visual SourceSafe的管理之下 342

18.4 Visual Basic项目与Visual SourceSafe 344

18.4.1 指定工作文件夹 344

18.4.2 创建项目的工作副本 346

18.4.3 通过Visual SourceSafe Explorer签出文件 346

18.4.4 从Visual Basic IDE中签入和签出文件 349

18.4.5 向源代码处于管制中的项目添加新文件 351

18.4.6 获得文件的最新版本 351

18.4.7 比较修订 353