ps:想写此书的初衷是对自己多年来工作的一个阶段性总结 书籍暂定名:
无 设想:
我希望写一本这样的书:首先,它能够收集在使用Delphi进行程序设计时可能会碰到的一些 “陷阱”问题,并提供相应的方法帮助开发人员绕开这样的“陷阱”,使Delphi开发人员能够将更多的精力集中在对项目核心问题的研究上,而不是花很多的时间来解决这些已经被列入“黑名单的问题”。其次,此书中描述的问题均属于较高级的Tips,理解这些问题的前提是要求开发人员要对Delphi平台有较深层次的了解。因此我会在书中每一个章节的起初部分,写一篇关于Delphi内对此部分所描述的内容是如何实现的专题,这样不仅使读者能够更好的理解我所列出的问题,同时又能够对Delphi本身有更深一层次的理解。
目前就我个人感觉,国内许多的Delphi开发人员过分依重于Delphi所提供的RAD功能,而对系统(Delphi&Windows)本身缺少了解,以至于无法写出高可靠性和高维护性的,也就使软件质量无法的得到基本的保证,同时也给自己水平的提高造成了一定的瓶颈(只会使用控件编程和对问题只知其然,不知其所以然的状态使它们很难将观察程序系统的眼光提高一个档次,也比较难使他们的水平有质的提高)。而环顾国内的Delphi书籍市场,这类介绍Delphi系统的书籍实在是太少,我所知道的只有一本就是电力社出版2001年出版的《Delphi技术手册》,这本书虽然我个人认为是十分的好,但是终究没有逃脱在china-pub.com上面被当作特价书出售的命运。究其原因,我感觉应该是这本书写的太过专业,而且不是基于某种实践描述问题。这种书籍对于对Delphi系统本身有一定了解的人自然是很好的参考书籍,但是对绝大多数Delphi程序员来说显的有些死板,阅读起来难度比较大。于是这也就引出了我撰写此书的另外一个初衷,我希望能以一种交流式的方式将一些基础,但是比较高级的Delphi原理级知识介绍给阅读本书的程序员,并结合实例,使它们知道不仅了原理,而且有机会在实践中应用这些原理。 目录: 一.编译器和编辑器
请注意代码最终是否被链接器链入可执行文件(注1)
请尽量使用build all方式编译程序
清楚了解Delphi编译器选项
不要忽视Delphi编译器给你的权力(注2)
Delphi7编译器的回车换行符问题(注3)
尽量不要在Tools/Environment Options/Library选项中包含自己的程序文件路径
请注意Delphi7的VCL源代码当中的预编译标志 二.语言基础元素
了解Integer类型和Cardinal类型的区别
使用for循环时需要注意的问题
使用Class类型
使用方法数组
使用untype参数 三.单元文件
请务必在项目当中包含SysUtils.pas单元
请注意单元的包含顺序
请注意单元的初始化和结束化问题
请不要在单元当中覆盖公有单元内的元素名称 四.对象的构造与析构
专题:Delphi的面向对象程序设计模型
专题:Delphi对象的构造与析构
请在编写构造函数时调用基类的构造函数
请注意在构造函数中抛出的异常
请注意构造函数和析构函数的调用顺序
请将基类的构造函数设置为virtual
在适当的时候NewInstance方法创建对象
请不要在析构函数当中抛出异常
请不要创建名称非Create的构造函数 五.内存分配
专题:Delphi内存分配原理
请使用New/Dispose函数为记录指针分配内存
请尽量避免直接使用GetMem和FreeMem函数分配释放内存
请在编写动态链接库的时候将IsMultiThread变量的值设为True
如果不是必须请不要重新定义内存管理器,尤其是在维护代码的时候 六.Windows编程
专题:使用Delphi撰写动态链接库
专题:Delphi对线程的封装
专题:Delphi对COM的封装(可选)
如果在动态链接库的代码中调用COM组件请手动添加CoInitialize和CoUninitialize函数
请不要在一个程序当中对一个动态链接库执行多次LoadLibrary/FreeLibrary操作
如何使automation方法返回的对象在asp当中被认为是empty object
自定义消息注意事项
不安全的日期类型转换?? 七.自动维护生存周期类型
专题1:Delphi中的字符串处理
专题2:Delphi中的接口
String类型与PChar类型的兼容性
Delphi接口的自维护引用计数问题
(其余代定)(注5) 八.异常
专题:Dephi的异常处理
请在编码时有选择的拦截异常
(其它待定)注5 十.编程实践
拥有自己的编程风格
使用XP的实践改良程序设计过程
善用工具发现/解决问题
使用Delphi开发大中型项目 附录:推荐阅读书籍 注1:有一些代码虽然编译器会编译它,但是不会将它链接入可执行文件内。这样可能会引发一些极难被发现的错误。
注2:讲述Delphi编译器所提供的一些优化功能对程序的影响(比如整数计算溢出检查器,边界检查器等)。
注3:讲述由于Delphi7编辑器对回车换行符的区分导致的可能出现的程序编译后错误代码定位不准等问题。
注4:此章将给出样章
注5:由于选择比较多,所以希望在实际写作时决定最终的编目。 Other:书中有一些篇目的虽然是很好的tips但是名字比较通俗,可能会些使用Delphi的老鸟产生厌烦的感觉(比如第四.对象的构造与析构中篇目的名称),关于此问题我一时有点拿不定主题如何解决.
无 设想:
我希望写一本这样的书:首先,它能够收集在使用Delphi进行程序设计时可能会碰到的一些 “陷阱”问题,并提供相应的方法帮助开发人员绕开这样的“陷阱”,使Delphi开发人员能够将更多的精力集中在对项目核心问题的研究上,而不是花很多的时间来解决这些已经被列入“黑名单的问题”。其次,此书中描述的问题均属于较高级的Tips,理解这些问题的前提是要求开发人员要对Delphi平台有较深层次的了解。因此我会在书中每一个章节的起初部分,写一篇关于Delphi内对此部分所描述的内容是如何实现的专题,这样不仅使读者能够更好的理解我所列出的问题,同时又能够对Delphi本身有更深一层次的理解。
目前就我个人感觉,国内许多的Delphi开发人员过分依重于Delphi所提供的RAD功能,而对系统(Delphi&Windows)本身缺少了解,以至于无法写出高可靠性和高维护性的,也就使软件质量无法的得到基本的保证,同时也给自己水平的提高造成了一定的瓶颈(只会使用控件编程和对问题只知其然,不知其所以然的状态使它们很难将观察程序系统的眼光提高一个档次,也比较难使他们的水平有质的提高)。而环顾国内的Delphi书籍市场,这类介绍Delphi系统的书籍实在是太少,我所知道的只有一本就是电力社出版2001年出版的《Delphi技术手册》,这本书虽然我个人认为是十分的好,但是终究没有逃脱在china-pub.com上面被当作特价书出售的命运。究其原因,我感觉应该是这本书写的太过专业,而且不是基于某种实践描述问题。这种书籍对于对Delphi系统本身有一定了解的人自然是很好的参考书籍,但是对绝大多数Delphi程序员来说显的有些死板,阅读起来难度比较大。于是这也就引出了我撰写此书的另外一个初衷,我希望能以一种交流式的方式将一些基础,但是比较高级的Delphi原理级知识介绍给阅读本书的程序员,并结合实例,使它们知道不仅了原理,而且有机会在实践中应用这些原理。 目录: 一.编译器和编辑器
请注意代码最终是否被链接器链入可执行文件(注1)
请尽量使用build all方式编译程序
清楚了解Delphi编译器选项
不要忽视Delphi编译器给你的权力(注2)
Delphi7编译器的回车换行符问题(注3)
尽量不要在Tools/Environment Options/Library选项中包含自己的程序文件路径
请注意Delphi7的VCL源代码当中的预编译标志 二.语言基础元素
了解Integer类型和Cardinal类型的区别
使用for循环时需要注意的问题
使用Class类型
使用方法数组
使用untype参数 三.单元文件
请务必在项目当中包含SysUtils.pas单元
请注意单元的包含顺序
请注意单元的初始化和结束化问题
请不要在单元当中覆盖公有单元内的元素名称 四.对象的构造与析构
专题:Delphi的面向对象程序设计模型
专题:Delphi对象的构造与析构
请在编写构造函数时调用基类的构造函数
请注意在构造函数中抛出的异常
请注意构造函数和析构函数的调用顺序
请将基类的构造函数设置为virtual
在适当的时候NewInstance方法创建对象
请不要在析构函数当中抛出异常
请不要创建名称非Create的构造函数 五.内存分配
专题:Delphi内存分配原理
请使用New/Dispose函数为记录指针分配内存
请尽量避免直接使用GetMem和FreeMem函数分配释放内存
请在编写动态链接库的时候将IsMultiThread变量的值设为True
如果不是必须请不要重新定义内存管理器,尤其是在维护代码的时候 六.Windows编程
专题:使用Delphi撰写动态链接库
专题:Delphi对线程的封装
专题:Delphi对COM的封装(可选)
如果在动态链接库的代码中调用COM组件请手动添加CoInitialize和CoUninitialize函数
请不要在一个程序当中对一个动态链接库执行多次LoadLibrary/FreeLibrary操作
如何使automation方法返回的对象在asp当中被认为是empty object
自定义消息注意事项
不安全的日期类型转换?? 七.自动维护生存周期类型
专题1:Delphi中的字符串处理
专题2:Delphi中的接口
String类型与PChar类型的兼容性
Delphi接口的自维护引用计数问题
(其余代定)(注5) 八.异常
专题:Dephi的异常处理
请在编码时有选择的拦截异常
(其它待定)注5 十.编程实践
拥有自己的编程风格
使用XP的实践改良程序设计过程
善用工具发现/解决问题
使用Delphi开发大中型项目 附录:推荐阅读书籍 注1:有一些代码虽然编译器会编译它,但是不会将它链接入可执行文件内。这样可能会引发一些极难被发现的错误。
注2:讲述Delphi编译器所提供的一些优化功能对程序的影响(比如整数计算溢出检查器,边界检查器等)。
注3:讲述由于Delphi7编辑器对回车换行符的区分导致的可能出现的程序编译后错误代码定位不准等问题。
注4:此章将给出样章
注5:由于选择比较多,所以希望在实际写作时决定最终的编目。 Other:书中有一些篇目的虽然是很好的tips但是名字比较通俗,可能会些使用Delphi的老鸟产生厌烦的感觉(比如第四.对象的构造与析构中篇目的名称),关于此问题我一时有点拿不定主题如何解决.
解决方案 »
- 如何显示Delphi水平
- 一次性循环插入 5000条 记录到sqlserver 数据中,如何提高效率和性能?
- 实时数据据库建立
- ★★★救命!有没有办法判断客户端的ocx是否有两个实例在运行?
- 谁做过RadiusClient编程?
- 请问高手,哪里有delphi和sql server2000 结合开发好的示例?最好能告诉相关的网站。
- 郁闷,老是写文档,十分难受,放分
- 当鼠标移开的时候,使它的颜色恢复成原来的样式,音乐也停止?????/
- 用过InstallShield Express 3.51 for delphi6的朋友请进
- 谁能给我一个TFileStream , 读写的例子,多谢了!
- 初学Delphi,该掌握多少Pascal知识?
- 显示纪录颜色的一个问题
我个人也感觉书籍章节的标题不太也彩,但是并不说明他们不值得一看,如果我是这本书的读者我想我应该会对书籍的选才感觉到满意,因为这些都实践中的获得的东东有很强的经验性和可用性,而且即便是对同一种问题也可以通过阅读它得到更深刻的理解,就像是练剑一样,剑谱都是一份,但是练剑的人绝对是可以分出水平高低的。
但是换另外一个角度来看,如果我是这本书籍的读者,当我翻看这本书的目录的时候,看到这些不出彩的标题,我还会不会去买它呢?也许书籍部分标题的朴实性还真是一个问题。
有的选总比没有选强!
MM
MM MMMM MM
MM MMMM MM
MM MM MM
MM MM MM
MMMMMMMMMM MM MMMMMMMM
MMMMMMMMMM MMMMMMMM MM MM MM
MM MMMM MM MM MM MM
MM MM MMMMMMMMMMMMMMMM
MMMMMMMM MMMMMMMMMMMMMM MM
MMMMMM MMMM MM MM MM
MMMM MMMM MMMMMMMMMMMMMM
MMMM MM MM MM MMMMMM MM
MM MMMM MMMMMM MM MM MM
MMMM MM MM MM MMMM
MMMMMMMM MM MM MMMM
MM MMMMMM MM MM MMMM
MMMMMM MMMMMMMM MMMM MM
MMMM MMMMMMMMMM MM MMMM
MM
................................................................MM..................
..............MM..................................MMMM............MM................
..............MM..................................MMMM............MM................
..............MM..................................MM..............MM................
..............MM..................................MM..............MM................
..............MMMMMMMMMM..........................MM............MMMMMMMM............
......MMMMMMMMMM................................MMMMMMMM......MM..MM............MM..
..............MM............................MMMM..MM..............MM........MM..MM..
..............MM..................................MM............MMMMMMMMMMMMMMMM....
..............MMMMMMMM............................MMMMMMMMMMMMMM....MM..............
........MMMMMM....MMMM............................MM................MM..MM..........
..................MMMM..........................MMMM..........MMMMMMMMMMMMMM........
........MMMM......MM..........................MM..MM....MMMMMM......MM..............
............MM..MMMM....................MMMMMM....MM........MM......MM..............
..............MMMM........................MM......MM..........MM....MMMM............
............MMMMMMMM..............................MM..........MM....MMMM............
..........MM......MMMMMM......................MM..MM................MMMM............
....MMMMMM............MMMMMMMM..................MMMM................MM..............
MMMM....................MMMMMMMMMM................MM..............MMMM..............
....................................................................MM..............
....................................................................................
....................................................................................
....................................................................................
....................................................................................