Delphi 项目总结

    随着项目的失败,这些天一直在总结失败的原因,到底是为什么?

    一、技术层面
        1、少用指针类型,多用类。
            虽然指针类型能有效的节约内存和加快运行速度,但指针远没有类来得稳定及易用。在日常使用中,往往指针对应的是record类型,例如
            

1   PDataColumns  =   ^ DataColumns;
2   DataColumns  =  record
3     Name:  string ;
4     Value:  string ;
5     DataType: SqlDataType;
6     Size: Integer;
7   end;

            在实际使用中,指针往往会忘记释放或者过早的释放,造成内存泄漏。而类在使用中,却没有这样的问题,虽然也会有忘记释放内存的情况,但其稳定性和可靠性要比指针要好得多。

        2、 建模工具的使用
            在小项目的不觉得建模工具有多少的优势,反而会觉得有些累赘。但当实际代码行数达到2000行时,必须要用建模工具来辅助了。因为随着代码的增加,不可能都能记住关键代码的
        位置,而图形化的建模工具能更精确的找到你要维护的代码,而且修改起来不容易出错。特别是在维护结构时,更是得心应手。 

        3、项目结构的把握
            这是项目的精髓。结构的好坏,决定着项目的成败,决定着项目的稳定性、可靠性和易维护性。也体现了程序员的项目经验。经验不是一天两天能够得到的,是在不断的实践和摸爬滚
        打中获得的。

        4、项目测试
            这是项目交付前的最后阶段。项目测试按我自己的理解,不需要由专业的程序员来完成,但他必须熟知项目每个模块的流程以及模块间的接口协议。还需要对关键模块或者说敏感的流程(如金额的计算等),进行严格的破坏性测试。

    二、心理层面
        1、项目的简易程度的把握
            如果在项目初期没有把项目吃透,那么在项目推进阶段就会遇到很大的阻力。而且会对自己的信心造成影响。 
    
        2、要有充分的信心
            信心十分重要,特别是马拉松式的项目,需要耐力和忍受力。要时常给自己打气,相信自己一定行。

        3、多交流
            交流有很多方面。技术方面,不能单靠一两个人的想法去实现一个简单但难实现的算法,要和更多的人交流得到稍复杂而容易实现的算法。前者需要花比较少的时间去写代码和测试,
        但一旦成功则是一个不小的进步;后者不需要花很多的精力的测试算法的准确性,因为这些都是由一些经过了N次测试后成功的代码段实现的。前者适合研究性质,后都适合快速项目开发
        性质。心理方面,要少钻牛角尖,正所谓进一步万丈深渊,退一步海阔天空。

    总结,项目成功需要通过周密的项目分析,获得可行的项目结构,经过细致的编程和全面而周到的项目测试,才能最终实现。

转载于:https://www.cnblogs.com/sonicit/archive/2007/10/07/916358.html

Delphi实例开发教程》源代码包说明 __________________________________________________________________ (一)源代码程序包内容: 源代码程序包的目录结构如下: \(根目录) | |————Readme.txt(说明文件必须放在这个地方) | |————\本书大案例(目录) | | |————|————DataBase(目录,存放大案例的数据库文件为“date”和数据库连接文件TEST.UDL) | | |————|————Materials(目录,存放大案例的登录logo) | | |————|————EXE(目录,存放可执行文件,为channelplay.exe) | | |————|————Setup(目录,存放安装文件) | | |————|————Source(目录,存放源代码,这个目录可以进一步细分) | | |————|————|————code(保存源程序) | | |————|————|————dcu(保存中间编译文件) | | |————|————|————exe(保存可执行文件) 其中安装程序文件夹里面是本案例系统的安装程序,与程序源代码无关。用户既可以以它来安装信息搜索系统程序,也可以直接从setup文件夹中直接运行程序。(当然,两者前提是数据库配置好,具体的配置方法参考案例书第4章的案例分析与完善) 另外在source文件夹中还有三个文件夹,code,dcu与exe是在编写程序代码是为了方便管理而设置的(这里的exe文件夹中文件和大案例下的EXE文件夹一样)。在一般情况下,如果不对编写的delphi项目工程进行设置而直接保存到一个文件中,那么在运行程序代码是就会在此文件夹中产生中间编译文件和最后的运行程序。如此则这同一个文件夹中就不仅有项目文件、单元文件也会有在编译过程中产生的编译文件和最后程序等。这样就不方便程序的管理和查看。所以在编写delphi项目工程之前最后设置三个文件夹分别用于保存源程序代码、中间的编译文件和应用程序,以方便管理。(具体设置是先打开delphi7,选择[Project]->[options],打开一个对话框,directories/Conditionals页,在Output directory里填写保存应用程序的文件夹路径,在Unit Output directory填写保存中间编译文件的文件夹路径。这两个路径最后写与源程序代码文件夹相关的相对路径。如本书的项目工程,源程序代码保存在code文件夹中,那么Output directory里填写“..\exe”,而Unit Output directory里填写“..\dcu”。) (二)下面介绍大案例code文件夹里各个文件的内容和关系:(code文件夹里的几个文件夹都与本程序无关,可以删除) 1)ChannelPlayer.dpr-------本案例的工程文件 它说明项目中各个单元文件的运行创建,并启动生成应用程序 2)MainFrm.dfm-----------------主窗体的窗体文件 它保存软件主界面窗体所作的属性 MainFrm.pas------------------主窗体的单元文件 它保存与软件主界面窗体相关的程序代码 以下各组文件的内容可以参考本书的第二章的实例分析与完善 3)MaintainFrm.dfm---------------对已保存的定制进行修改维护的窗体文件 MaintainFrm.pas-------------对已保存的定制进行修改维护的单元文件 4)BrowserFrm.dfm----------浏览器的窗体文件 BrowserFrm.pas----------浏览器的单元文件 5)CustomSearchFrm.dfm-------实现定制搜索功能窗体文件 CustomSearchFrm.pas-----------实现定制搜索功能单元文件 6)DisplayFrm.dfm----------------设计显示和操作搜索信息界面的窗体文件 DisplayFrm.pas--------------设计显示和操作搜索信息界面的单元文件 7)DisplayFra.dfm------------显示的搜索到的网站的窗体文件 DisplayFra.pas------------显示的搜索到的网站的单元文件 8)InputFra.dfm--------------进行搜索前对一些基本输入控件处理的窗体文件 InputFra.pas---------------进行搜索前对一些基本输入控件处理的单元文件 9)RollingNewsFrm.dfm---------用于滚动新闻设置的窗体文件 RollingNewsFrm.pas---------用于滚动新闻设置的单元文件 10)SettingFrm.dfm-----------用于系统的设置的窗体文件 SettingFrm.pas-----------用于系统的设置的单元文件 11)SiteArrangementFrm.dfm---整理“站内搜索”子模块中用户设置的窗体文件 SiteArrangementFrm.pas---整理“站内搜索”子模块中用户设置的单元文件 12)SiteSearchFrm.dfm--------主要用于实现站内搜索的窗体文件 SiteSearchFrm.pas--------主要用于实现站内搜索的单元文件 13)SplashFrm.dfm-----------实现系统开始运行闪屏的窗体文件 13)SplashFrm.pas-----------实现系统开始运行闪屏的单元文件 14)ViewFra.dfm--------------设定查询数据库保存的搜索结果信息条件输入的窗体文件 ViewFra.pas--------------设定查询数据库保存的搜索结果信息条件输入的单元文件 15)ViewInfoFrm.dfm----------对数据库中信息查询的窗体文件 ViewInfoFrm.pas-----------对数据库中信息查询的单元文件 16)UnitSearch.pas-----------实现百度、新浪等搜索引擎线程定义的单元文件 以上是code文件夹的主要文件,也是本案例工程的所有代码文件,其中ChannelPlayer.dpr是工程文件,记录本工程的信息;其他的窗体都是在本系统程序使用时动态调用(各个文件的调用关系可以参考本书第一章实例分析与完善的概要模块设置部分)。code文件夹中其他文件是在程序编译运行时候有delphi7自动生成,用户可以不管。其中*.~后缀的文件是相应文件名的备份,它们也是由delphi7自动生成。 (三)source文件夹中dcu文件夹中保存的文件是程序在编译的时候生成的中间文件,它们都对应code文件夹中的每个*.pas单元文 件。 (四)source文件夹中exe文件夹的文件: ChannelPlayer.exe---是本项目工程运行是自动生成的可执行运用程序 (五)系统需求: 1. 硬件要求: 基本配置为: ¢ CPU:Intel Pentium II-class 300 MHz (Intel Pentium III-class 600 MHz recommended) 这表明需要至少300MHz的奔III处理器,笔者所使用的是雷鸟1G,应该说 性能还是可以的。 ¢ RAM:96MB(128MB recommended) 实际上,128M内存运行起来还是觉得不够,最好能够有256M以上内存。笔 者使用的是256M DDR内存。 ¢ Available hard disk space(for install):250MB ¢ Available hard disk space(post install):155MB 事实上,这个要求仅仅是针对安装delphi7所提出的 要求。 ¢ Video:800×600,256 colors 只要是14英寸显示器就可以达到这个要求。 ¢ CD-ROM:required 这只是目前计算机的标准配置,实际上,如果不是采用光盘安装的话,CD-ROM 根本就派不上用场。 ¢ Operating System:Microsoft Windows 2000(or up) ¢ Microsoft Internet Explorer 5.5(or up) 2. 本系统工程的开发环境 本信息搜索系统程序是在WindowsXP的Delphi7环境下开发编写的,并且通过测试。另外本系统也能在windows98,me,2000 的delphi7环境下开发编写。对于delphi的版本,虽然delphi6与delphi7相差不大,但由于本系统的网络部分用到的一些网络控件在delphi6没有,所以如果想使用delphi6编写的程序员要用delphi6的网络控件代替delphi7的网络控件。对于刚出的delphi8,由于它是基于net框架的,主要用于网页编写,编写应用程序的方式不一样,而且delphi7的很多控件都没有,所以一般不能在delphi8中开发运行(除非重新编写所有的代码)。 (六)注意事项: 本系统要注意开发环境的选取,如上面所说的,最好使用delphi7以下的版本,不能使用delphi8。另外还要注意系统程序所用到的数据库的设置,先是把数据库还原,然后设置TEST.UDL里的连接参数,使程序能与数据库建立关系。这样之后才能运行程序。最后,由于本系统是借助几大门户网站的搜索功能实现搜索,所以要注意这些门户网站的更新,根据它们的更新来更新本系统。 (七)技术支持信息: 本系统的运行与操作: 本系统在运行之前要先设置好与数据库的连接(参考第4章的实例分析与完善)。然后运行程序会出现一个主界面,界面中间是有关新闻的滚动。点击“定制搜索”功能可进入定制搜索界面,在界面的左边可以选择是搜索以前的关键字还是重新输入,如果重新输入着在“关键字”栏里填写关键字,然后选择相关设置就可以搜索。对于搜索到的信息可以直接单击进入网页,也可以右键点击选择不同的操作。保存搜索信息公能用于对本次搜索信息保存到数据库中。点击主界面的“查看信息”功能可以进入查看信息界面,其界面与定制搜索界面相识。 点击主界面的“滚动新闻”功能和“系统设置”功能可以设置主界面的新闻滚动和本系统的信息。 _________________________________________________________________ 技术支持的联系方式: 如果用户对于本系统程序有什么疑问可以发邮件到: hsw_gm@21cn.com tenny_2000@163.com sqwen@yeah.net kukocpoplee@tom.com Jingfei2000@21cn.com _________________________________________________________________
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值