Delphi 项目总结
Delphi 项目总结
随着项目的失败,这些天一直在总结失败的原因,到底是为什么?
一、技术层面
1、少用指针类型,多用类。
虽然指针类型能有效的节约内存和加快运行速度,但指针远没有类来得稳定及易用。在日常使用中,往往指针对应的是record类型,例如

2

3

4

5

6

7

在实际使用中,指针往往会忘记释放或者过早的释放,造成内存泄漏。而类在使用中,却没有这样的问题,虽然也会有忘记释放内存的情况,但其稳定性和可靠性要比指针要好得多。
2、 建模工具的使用
在小项目的不觉得建模工具有多少的优势,反而会觉得有些累赘。但当实际代码行数达到2000行时,必须要用建模工具来辅助了。因为随着代码的增加,不可能都能记住关键代码的
位置,而图形化的建模工具能更精确的找到你要维护的代码,而且修改起来不容易出错。特别是在维护结构时,更是得心应手。
3、项目结构的把握
这是项目的精髓。结构的好坏,决定着项目的成败,决定着项目的稳定性、可靠性和易维护性。也体现了程序员的项目经验。经验不是一天两天能够得到的,是在不断的实践和摸爬滚
打中获得的。
4、项目测试
这是项目交付前的最后阶段。项目测试按我自己的理解,不需要由专业的程序员来完成,但他必须熟知项目每个模块的流程以及模块间的接口协议。还需要对关键模块或者说敏感的流程(如金额的计算等),进行严格的破坏性测试。
二、心理层面
1、项目的简易程度的把握
如果在项目初期没有把项目吃透,那么在项目推进阶段就会遇到很大的阻力。而且会对自己的信心造成影响。
2、要有充分的信心
信心十分重要,特别是马拉松式的项目,需要耐力和忍受力。要时常给自己打气,相信自己一定行。
3、多交流
交流有很多方面。技术方面,不能单靠一两个人的想法去实现一个简单但难实现的算法,要和更多的人交流得到稍复杂而容易实现的算法。前者需要花比较少的时间去写代码和测试,
但一旦成功则是一个不小的进步;后者不需要花很多的精力的测试算法的准确性,因为这些都是由一些经过了N次测试后成功的代码段实现的。前者适合研究性质,后都适合快速项目开发
性质。心理方面,要少钻牛角尖,正所谓进一步万丈深渊,退一步海阔天空。
总结,项目成功需要通过周密的项目分析,获得可行的项目结构,经过细致的编程和全面而周到的项目测试,才能最终实现。
Delphi 项目总结的更多相关文章
- delphi项目中的modelsupport文件夹
delphi项目中的modelsupport文件夹 今天写着写着突然发现多了一个这个文件夹..苦思不得其解 看着又难受 删了又重建 终于找到了 存此备查;Tools--option--toget ...
- 如何分析一个已有的Delphi项目源代码
分析一个已有的Delphi项目,应该从以下入手(按先后顺序):1. 编译条件,包括自定义的Condition以及inc文件里的标识2. 主项目文件dpr,因为窗体的windows消息循环只是程序的一部 ...
- 最想做的三个Delphi项目:Paint,IM,SQL,另外还有Smart,TMS,FMX,UML,FreePascal,Python4Delphi,Cheat Engine
都是绝美项目- 如果有时间,要做的项目:0. 整整5个Cloud项目(可带来商业收益,其中还包括手机发送, S/D/N/L/NetDriver)1. Heidi/front/SQLITE STUDIO ...
- Delphi 项目配置选项
打开项目设置窗口: 通过菜单:项目>选项 快捷键 :Shift+Ctrl+F11 Delphi编译器选项说明 Conditional defines 指定条件编译器指令中引用的符号. O ...
- 【翻译】在GitHub上通过星级评估排名前10的最受欢迎的开源Delphi项目
GitHub上有相当多的Delphi开源项目可以为你节省一些时间.我在GitHub上搜索了Delphi,然后按最主要的项目进行排序,并列出了前十名单.这里有一些非常好的东西,包括Awesome Del ...
- Delphi项目构成之单元文件PAS
单元文件是Pascal源文件,扩展名为.pas. 有三种类型的单元文件: 窗体/数据模块和框架的单元文件(form/data module and frame units),一般由Delphi自动生成 ...
- Delphi项目构成之项目文件DPR
1 2 3 4 5 6 7 8 9 10 11 12 13 program Project1; {关键字program,标准的Pascal源文件格式} ...
- Delphi 项目 结构 文件夹 组织
Delphi Project Structure Folder Organization http://delphi.about.com/od/delphitips2008/qt/project_la ...
- Delphi 项目失败的总结
随着项目的失败,这些天一直在总结失败的原因,到底是为什么? 一.技术层面 1.少用指针类型,多用类. 虽然指针类型能有效的节约内存和加快运行速度,但指针远没有类来得 ...
随机推荐
- java中hashCode()与equals()详解
首先之所以会将hashCode()与equals()放到一起是因为它们具备一个相同的作用:用来比较某个东西.其中hashCode()主要是用在hash表中提高 查找效率,而equals()则相对而言使 ...
- java加载外部文件数据到代码中:外部数据文件放到jar包中,调用方法getResourceAsStream
任务要将数据文件geo.txt加载进行.因为是别人写的总体项目,不能乱动位置.只能将geo.txt打包到jar中某目录.比如,放到.class文件下怎么加载:http://riddickbryant. ...
- J2EE学习从菜鸟变大鸟之五 JDBC(Java Data Base Connectivity)
JDBC刚开始学习这个的时候看到了,以为是ODBC呢,很是相似啊,总的来说还是基本上一类的东东,但是还有一些细微的区别,下面和大家一起分享学习. JDBC(Java Data Base Connect ...
- Linux0.11 创建进程的过程分析--fork函数的使用
/* * linux/kernel/fork.c * * (C) 1991 Linus Torvalds */ /* 注意:signal.c和fork.c文件的编译选项内不能有vc变量优化选项/Og, ...
- Java应用程序使用系统托盘资源
要想使自己开发的Java SE项目运行在自己的电脑系统托盘上,这并不是什么难事,总共需要如下几步即可: 1.线判断一下,系统托盘是否可用,否则接下来的程序将不可避免的报出异常咯 2.获得一个Syste ...
- 小强的HTML5移动开发之路(5)——制作一个漂亮的视频播放器
来自:http://blog.csdn.net/dawanganban/article/details/17679069 在前面几篇文章中介绍了HTML5的特点和需要掌握的基础知识,下面我们开始真正的 ...
- 集群通信组件Tribes之整体介绍
接下来一系列文章会对集群通信框架tribes进行源码级别的分析,欢迎讨论. 把若干机器组合成一个集群,集群为了能协同工作,成员之间的通信是必不可少的,当然可以说这也是集群实现中重点需要解决的核心问题, ...
- 【翻译】对于Ext JS 5,你准备好了吗?
原文:Are You Ready for Ext JS 5? Ext JS 5:准备升级 对于Ext JS 5加入Sencha的大家庭,我们感到非常高兴!作为一个主要版本,在Ext JS 5引入了一堆 ...
- OC语言(六)
四十六.block类型 用来封装代码,可以在任何时候执行. 与函数的区别:可以在运行时动态产生. block的标志:^ 有形参.有返回值 int (^sumblock)(int,int) = ^(in ...
- Mplayer 的编译
由于项目要用到mplayer,所以要对mplayer进行编译,首先我的平台如下: 系统:windows xp2 安装好mingw+msys,目录为c:/mingw,其中装的gcc是4.3.2版本的. ...