light

专注于基于.Net平台的服务器应用.

导航

调整过的书籍目录

Posted on 2004-08-12 23:59  light's cafe  阅读(419)  评论(0编辑  收藏  举报

ps:这个应该不是最终的,可能还需要一次的调整.

书名:
Delphi Pitfalls

篇目:
第一部分:开发环境
 第一章.集成开发环境
  item1:  功欲善先利其器——配置Delphi开发环境
  item2:  审慎对待Class Complete功能
  item3:  使用ToDo列表代替书签
  item4:  不要将特定项目的配置设置成缺省配置
  item5:  将项目中所使用到的所有Delphi源文件文件包含入项目
 第二章.编译器
  item1:  请注意源代码最终是否被链接器链接入程序文件
  item2:  尽量使用build all方式编译项目
  item3:  清楚了解Delphi编译器选项
  item4:  不要忽视Delphi编译器给你的权力
  item5:  请不要在Tools/Environment Options/Library选项中包含自己的程序文件路径
 第三章.调试器
  item1:  在调试时有选择的关闭优化器?
  item2:  尽量不要在项目选项的Conditionals处设置预编译条件
  item3:  Debug Dcu的使用
  item4:  手工复位含有表达式的断点


第二部分:语言基础元素
 第一章.基础类型
  item1L  Integer类型和Cardinal类型的区别
  item2:  使用for循环时需要注意的问题
  item3:  区别不同的bool类型
  item4:  使用浮点数
  item5:  用单元名来约束对枚举成员的引用
  item6:  在使用记录变量之前一定要对其进行初始化
  item7:  将函数的参数标识为const类型
  item8:  尽量不使用with语句
 第二章.字符串间的互操作性
  item1:  空字符串与nil
  item2:  使用SetLength函数分配字符串的注意事项
  item3:  不同字符串类型之间的转型
  item4:  以数组代替字符串返回
  item5:  操作字符串的rtl函数
  专题 :  字符串与字符指针的本质区别
 第三章.数组
  item1:  以初始化表达式取代通过赋植对数组进行初始化
  item2:  以Low和High函数来取数组的最高维和最低维
  item3:  动态数组的使用
  item4:  C风格的指针数组
 第四章.单元
  item1:  务必在项目当中包含SysUtils.pas单元
  item2:  注意单元的包含顺序
  item3:  单元的初始化和结束化问题
  item4:  避免项目所引用单元间的名称污染

第三部分:语言高级元素
 第一章.类、对象与接口
  item1:  在适当的时候TObject.NewInstance方法创建对象
  item2:  在子类中完全覆盖基类的方法
  item3:  类引用的使用
  item4:  对象类型引制转换与as关键字
  item5:  请在编写构造函数时调用基类的构造函数
  item6:  注意构造函数和析构函数的调用顺序
  item7:  将基类的构造函数设置为virtual
  item8:  不要创建名称非Create的构造函数
  item9:  重载AfterConstruction方法,以在构造阶段调用虚方法
  item10: Delphi接口的自维护引用计数问题
  item11: 在面向对象程序设计当中使用接口
  专题  : 面向接口设计的驳论
 第二章.异常
  item1:  在编码时有选择的拦截异常
  item2:  小心在构造函数中抛出的异常
  item3:  不要在析构函数当中抛出异常
  item4:  为基类定义一个异常类型
  item5:  尽量不要覆盖系统的异常函数地址
  item6:  不要在动态链接库导出函数中抛出异常
  item7:  尽量不要使用ExceptObject变量
  item8:  保持异常结构的稳定
  专题 :  Delphi异常与SEH异常
 第三章.其它高级语言元素
  item1:  使用无类型参数
  item2:  使用方法数组
  item3:  使用联合记录

第四部分:VCL Framework Classes
 第一章.TForm&TApplication
  item1:  注意自定义消息的消息号。
  item2:  记得给自定义的消息方法调用inhreited关键字
  item3:  不要使用基于Form单元中所定义的Form变量
  item4:  不要为exe程序的Application.Handle赋值
  item5:  如果程序需要同步等待那请调用TApplication.ProcessMessages方法而不是WinApi
  专题 :  VCL Framework Classes的基础架构

第五部分:Rtl Functions
 第一章.内存的分配与使用
  item 1:  有选择的使用New/Dispose函数为记录指针分配内存
  item 2:  尽量避免直接使用GetMem和FreeMem函数分配释放内存
  item 3:  请不要重新定义内存管理器
  item 4:  为内存用光的时候做准备
  item 5:  遵守谁分配谁释放的内存使用原则
  item 6:  FreeMem函数的Size参数
  专题  : Delphi
 第二章.文件I/O
  item 1:  使用File族函数代替pascal file函数
  item 2:  File open mode枚举类型的使用
  item 3:  调用FileCreate方法时请注意
  item 4:  FindFirst方法的使用

第六部分:常用操作系统元素封装
 第一章.线程
  item 1:  Thread类的重入问题
  item 2:  不要直接使用Winapi来创建和结束线程
  item 3:  TEvent对象的问题
  item 4:  线程中的未处理异常
  专题  :  Win32线程编程常见方式和问题小览
 第二章.动态链接库
  item 1:  动态链接库导出对象
  item 2:  在编写动态链接库的时候将IsMultiThread全局变量的值设为True
  item 3:  在动态链接器的代码中抛出异常
  item 4:  在动态链接库的代码中调用COM组件
  item 5:  不要在程序当多次装入一个动态链接库
  item 6:  使用SafeLoadLibrary函数动态装入动态链接库

附加部分:编程实践
 终章.改良你的程序设计实践
  item1:  拥有自己的编程风格
  item2:  使用XP的实践改良程序设计过程
  item3:  善用工具发现/解决问题(delphi的desktop设置)
  item4:  使用Delphi开发大中型项目