Delphi 项目总结
Delphi 项目总结
随着项目的失败,这些天一直在总结失败的原因,到底是为什么?
一、技术层面
1、少用指针类型,多用类。
虽然指针类型能有效的节约内存和加快运行速度,但指针远没有类来得稳定及易用。在日常使用中,往往指针对应的是record类型,例如
PDataColumns = ^DataColumns;2
DataColumns = record3
Name: string;4
Value: string;5
DataType: SqlDataType;6
Size: Integer;7
end;在实际使用中,指针往往会忘记释放或者过早的释放,造成内存泄漏。而类在使用中,却没有这样的问题,虽然也会有忘记释放内存的情况,但其稳定性和可靠性要比指针要好得多。
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.少用指针类型,多用类. 虽然指针类型能有效的节约内存和加快运行速度,但指针远没有类来得 ...
随机推荐
- UNIX网络编程——UDP 中的外出接口的确定
已连接UDP套接字还可用来确定用于特定目的地的外出接口.这是由connect函数应用到UDP套接字时的一个副作用造成的:内核选择本地IP地址.这个本地IP地址通过为目的IP地址搜索路由表得到外出接口, ...
- 过时api LocalActivityManager 作用
换了个新工作,看公司代码还在用LocalActivityManager类 不知道是个什么东西,百度了也没具体介绍查了下sdk是这样介绍的 LocalActivityManager是一个助手类,在同一个 ...
- mixer: 一个用go实现的mysql proxy
介绍 mixer是一个用go实现的mysql proxy,支持基本的mysql代理功能. mysql的中间件很多,对于市面上面现有的功能强大的proxy,我主要考察了如下几个: mysql-proxy ...
- OJ题:将一个字符串顺序翻转
题目描述 写出一个程序,接受一个字符串,然后输出该字符串反转后的字符串. 之前写过这样的一个程序,用位运算的方法去操作指针,但是那样的方法未免就有点复杂啦,不如用以下这种,简单明了. 程序如下: #i ...
- ValueError: setting an array element with a sequence.
http://blog.csdn.net/pipisorry/article/details/48031035 From the code you showed us, the only thing ...
- Ionic APP-Web SPA开发进阶(一)AngularJS全栈工程狮进阶
AngularJS全栈工程狮进阶 前言 学习了一段时间AngularJS,开始接触移动端APP开发.为了响应公司开发需求,采用"Hybrid"混血开发方法.采用Ionic前端框架, ...
- Android JSON解析库Gson和Fast-json的使用对比和图书列表小案例
Android JSON解析库Gson和Fast-json的使用对比和图书列表小案例 继上篇json解析,我用了原生的json解析,但是在有些情况下我们不得不承认,一些优秀的json解析框架确实十分的 ...
- Leetcode_168_Excel Sheet Column Title
本文是在学习中的总结,欢迎转载但请注明出处:http://blog.csdn.net/pistolove/article/details/42554641 Given a positive integ ...
- MacBook 最近发现的一些问题和技巧
本猫的mba最近键盘莫名会失灵,但用鼠标切换其他用户时时好的,切换回来又不行,体现如下: 1.Spotlight里可以输入,其他不可以 2.cmd+tab可以切换进程 现在只有重启后才可以恢复. 网上 ...
- 服务端技术进阶(六)Ant和Maven的作用是什么?两者之间功能、特点有哪些区别?
服务端技术进阶(六)Ant和Maven的作用是什么?两者之间功能.特点有哪些区别? Ant和Maven都是基于Java的构建(build)工具.理论上来说,有些类似于(Unix)C中的make ,但没 ...