I
import
Unregistered / Unconfirmed
GUEST, unregistred user!
Delphi工程管理的一点经验
开放一个大型的系统或者一个较大的程序的时候,工程的管理就很重要了。如果不注意管理,在日后一大堆的文件里面,要找几个模块都很难!因此大家要养成良好的习惯,以下是一些经验:
首先建立一个目录,作为工程的主目录,例如:D:,大的工程一定要建立工程组文件(BPG),例如KS.BPG,保存在主目录(例如D:)即可。然后在主目录下面建立若干个子目录,以我的一个工程为例进行说明:
D:///存储SQL文件的目录
D:///存储数据文件,例如SQL Server的MDF文件和LDF文件,或其他数据文件
D:///用于保存单元编译输出文件,必须修改DPR的Project Options,DCU输出目录修改
D:///保存本程序使用到或者自定义的控件,并且建立dpk包含使用的控件
D:///保存程序文档,如软件设计书、图、报表等
D:///备份目录
D: ///窗体文件目录
D: ///单元文件目录
D:///EXE、DLL等输出目录
...
你可以建立自己需要的目录,尽量保持主目录的清洁,另外需要说明的是,目录结构不要太深。
如果需要经常备份源代码,那么最好把所有的代码都放到一个目录,例如在AProject下面建立一个Source目录,然后把Control、Form、Unit、SQL等等源代码都放在这个目录下面,这样以后备份源代码就只要备份Source目录即可。
除了上面的目录之外,如果软件包含多个DPR模块,那么可以每一个DPR模块都必须建立一个目录与之对应,仍以我的工程为例进行说明:
D:///软件Server端对应目录,Server的Project Options设置Directories如下:
DCU Output目录: ..
Output目录: ..
Search Paths中添加: ..
D:///软件Client端对应目录,Client的Project Options设置Directories如下:
DCU Output目录: ..
Output目录: ..
Search Paths中添加: ..
D:///软件使用到的一个Dll工程对应目录,Project Options设置Directories如下:
DCU Output目录: ..
Output目录: ..
Search Paths中添加: ..
工程组文件(BPG)包含:
Server.DPR、Client.DPR、Dll.DPR、Control.DPK
以后打开的时候,不要打开DPR文件,打开BPG文件即可。如果你的每一个子工程都够复杂,那么每一个子工程都应该遵循上面的规则。
建议不要使用Delphi提供的文件备份功能,应该自己采取备份措施,并且应该定期清理备份。
使用控件的时候,尽量提取控件,把工程用到的控件都放在工程目录下面,做成一个DPK,这样,一旦把工程目录复制到其他机器,也不会因为控件缺少而打不开工程。
另外合作开发的时候必须考虑的问题:单元的命名。建议在单元的前面添加作者名字缩写,例如lyh,lmd等等。因为你无论如何也不能保证别人不使用相同的单元名称,一个典型的例子,就是大家都使用类似的命名规则如:MyClass,MyConsts,如果有几个人用同样的名称,那么在联调的时候,就会麻烦了,如果采用lyhClass,lyhConsts等等就不会出现类似的麻烦。
开放一个大型的系统或者一个较大的程序的时候,工程的管理就很重要了。如果不注意管理,在日后一大堆的文件里面,要找几个模块都很难!因此大家要养成良好的习惯,以下是一些经验:
首先建立一个目录,作为工程的主目录,例如:D:,大的工程一定要建立工程组文件(BPG),例如KS.BPG,保存在主目录(例如D:)即可。然后在主目录下面建立若干个子目录,以我的一个工程为例进行说明:
D:///存储SQL文件的目录
D:///存储数据文件,例如SQL Server的MDF文件和LDF文件,或其他数据文件
D:///用于保存单元编译输出文件,必须修改DPR的Project Options,DCU输出目录修改
D:///保存本程序使用到或者自定义的控件,并且建立dpk包含使用的控件
D:///保存程序文档,如软件设计书、图、报表等
D:///备份目录
D: ///窗体文件目录
D: ///单元文件目录
D:///EXE、DLL等输出目录
...
你可以建立自己需要的目录,尽量保持主目录的清洁,另外需要说明的是,目录结构不要太深。
如果需要经常备份源代码,那么最好把所有的代码都放到一个目录,例如在AProject下面建立一个Source目录,然后把Control、Form、Unit、SQL等等源代码都放在这个目录下面,这样以后备份源代码就只要备份Source目录即可。
除了上面的目录之外,如果软件包含多个DPR模块,那么可以每一个DPR模块都必须建立一个目录与之对应,仍以我的工程为例进行说明:
D:///软件Server端对应目录,Server的Project Options设置Directories如下:
DCU Output目录: ..
Output目录: ..
Search Paths中添加: ..
D:///软件Client端对应目录,Client的Project Options设置Directories如下:
DCU Output目录: ..
Output目录: ..
Search Paths中添加: ..
D:///软件使用到的一个Dll工程对应目录,Project Options设置Directories如下:
DCU Output目录: ..
Output目录: ..
Search Paths中添加: ..
工程组文件(BPG)包含:
Server.DPR、Client.DPR、Dll.DPR、Control.DPK
以后打开的时候,不要打开DPR文件,打开BPG文件即可。如果你的每一个子工程都够复杂,那么每一个子工程都应该遵循上面的规则。
建议不要使用Delphi提供的文件备份功能,应该自己采取备份措施,并且应该定期清理备份。
使用控件的时候,尽量提取控件,把工程用到的控件都放在工程目录下面,做成一个DPK,这样,一旦把工程目录复制到其他机器,也不会因为控件缺少而打不开工程。
另外合作开发的时候必须考虑的问题:单元的命名。建议在单元的前面添加作者名字缩写,例如lyh,lmd等等。因为你无论如何也不能保证别人不使用相同的单元名称,一个典型的例子,就是大家都使用类似的命名规则如:MyClass,MyConsts,如果有几个人用同样的名称,那么在联调的时候,就会麻烦了,如果采用lyhClass,lyhConsts等等就不会出现类似的麻烦。