有关开发习惯的一些想法,如鲠在喉,不吐不快。究其发贴动机,当然不排除有骗取参 与分的可能,但另一方面,也希望能给同行(念 Xing)者提供一些建议,或者参考(希望不 是误人子弟)。同时,也希望各位能够就我的这些陋习,发表一点看法,给出批评和指正的 意见。谢谢。
一.建立工程目录
首先,第一步要做的,当然是给新项目建一个单独的目录(别笑) 。目录名称与项目名 称同名,或者另取一个也可,只要清楚、简练。然后,在此目录中创建以下各个目录: Doc:用来存放该项目相关的开发
文档(需求说明,概要设计,详细设计等等等等) ; Source:用来存放 Delphi 源程序中的”.Dpr”,”.Pas”,”.Dfm”等文件; Dcu:该目录中存放”.Dcu”文件,将’.Pas’与’.Dcu’文件分开存放只是为了让 Source 目录的内容更加清楚一些; Bin:存放工程的输出文件,比如”.Exe”,”.Dll”或者”.Ocx”等等; Log: 用来存放日志文件; 通常在这个目录中我会放一个”<项目名称>
程序员日志.Txt” 文件。 Images:当然是存放工程中用到的图片的目录了。一般情况下,这个目录是少不了的。 假如还用到其他资源,那么也一样建立各自的目录,比如 Wav,比如 Avi 等等。//博主个人 以为,Images 放在 Bin 下面更合理!
二.设置工程选项
在 Delphi 中创建一个新的工程,将此工程保存到 Source 目录中,同时: a. 选一个耐看的,与项目有些联系的图标作为这个工程的图标。当然,这个图标可能 只是临时用用的,但是总要比 Delphi 默认的那个难看的要好才行,要不然,怎么对得起自 己? b.将 Project Options -> Directories/Conditionals 页面中的 Output Directory 设 置为 Bin 目录; c.将 Unit output Directory 设置为 Dcu 目录。
三.添加常量单元
添加一个新的 Unit,另存为“unt<工程名> Consts.Pas”,用来保存工程中用到的常 量。
四.有关窗体(Form)及单元(Unit) 有关窗体(Form)及单元(Unit)
按照匈牙利命名法则给 Form 命名,则一个用来登录的窗体可以命名为’FrmLogin’, 而其单元名可以为’untLogin’。通常,两个对应的 Form 和 Unit 的名称在除去’Frm’ 或’unt’的缩写后应当保持一致。//博主的命名规则是:Unit: uLogin, Form: Login,而 且最好把各窗体单元中的全局窗体变量定义语句删除, 在需要用到的地方定义它, 或者有时 根本无须定义窗体变量,如: TLogin.Create(nil).ShowModal; 在 Unit 的头部添加本单元的注释, 注释的格式可以参照
Delphi 的源码, 但是至少应当 包含以下几项:功能描述;作者;
版权;创建时间;最后修改时间;修改历史等等。 将新创建好的 Form 的 Caption 设置为该 Form 类的名
称,而不是使用 Delphi 默认的。 比如, Form1 更名为 FrmLogin 后, 将 此时我们获得了 TFrmLogin 这个新的窗体类, 并且 Delphi 自动将窗体的 Caption 更新为'FrmLogin’。 依我看, Caption 应当为’TFrmLogin’才是, 该 因为我们在
设计的是一个窗体类 TFrmLogin,而不是仅仅对 FrmLogin 进行操作。
//个人感觉这个好像有点校枉过正了 向 TFrmLogin 这样功能明确的窗体类, 许多人都有在设计期就将其 Caption 设置为诸如 “操作员登录”这种名称的习惯。我的习惯是,象“操作员登录”这样的常量,通常存放在 unt<工程名>Consts.Pas 中,用 ResourceString 来定义,或者用 Const 来定义。至于窗体 的 Caption 的命名,应当属于运行期的
工作。所以,我往往在 TForm.OnCreate 事件触发之 时才对 Caption 进行操作,比如:procedure TFrmLogin.FormCreate(Sender: TObject); begin Caption := csLoginTitle; end;
五.关于 Format 函数的使用
有 iYear,iMonth,iDay 三个数据,要显示诸如“生日:1976/3/18”这样的信息,你通常怎么做?使 用 s := ‘生日:’+IntToStr(iYear)+’.’+IntToStr(iMont