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次测试后成功的代码段实现的。前者适合研究性质,后都适合快速项目开发

        性质。心理方面,要少钻牛角尖,正所谓进一步万丈深渊,退一步海阔天空。



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

Delphi 项目总结的更多相关文章

  1. delphi项目中的modelsupport文件夹

    delphi项目中的modelsupport文件夹 今天写着写着突然发现多了一个这个文件夹..苦思不得其解  看着又难受  删了又重建 终于找到了  存此备查;Tools--option--toget ...

  2. 如何分析一个已有的Delphi项目源代码

    分析一个已有的Delphi项目,应该从以下入手(按先后顺序):1. 编译条件,包括自定义的Condition以及inc文件里的标识2. 主项目文件dpr,因为窗体的windows消息循环只是程序的一部 ...

  3. 最想做的三个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 ...

  4. Delphi 项目配置选项

    打开项目设置窗口: 通过菜单:项目>选项 快捷键    :Shift+Ctrl+F11 Delphi编译器选项说明  Conditional defines 指定条件编译器指令中引用的符号. O ...

  5. 【翻译】在GitHub上通过星级评估排名前10的最受欢迎的开源Delphi项目

    GitHub上有相当多的Delphi开源项目可以为你节省一些时间.我在GitHub上搜索了Delphi,然后按最主要的项目进行排序,并列出了前十名单.这里有一些非常好的东西,包括Awesome Del ...

  6. Delphi项目构成之单元文件PAS

    单元文件是Pascal源文件,扩展名为.pas. 有三种类型的单元文件: 窗体/数据模块和框架的单元文件(form/data module and frame units),一般由Delphi自动生成 ...

  7. Delphi项目构成之项目文件DPR

    1 2 3 4 5 6 7 8 9 10 11 12 13 program Project1;                         {关键字program,标准的Pascal源文件格式} ...

  8. Delphi 项目 结构 文件夹 组织

    Delphi Project Structure Folder Organization http://delphi.about.com/od/delphitips2008/qt/project_la ...

  9. Delphi 项目失败的总结

    随着项目的失败,这些天一直在总结失败的原因,到底是为什么? 一.技术层面        1.少用指针类型,多用类.            虽然指针类型能有效的节约内存和加快运行速度,但指针远没有类来得 ...

随机推荐

  1. Java进阶(三十七)java 自动装箱与拆箱

    Java进阶(三十七)java 自动装箱与拆箱 前言 这个是jdk1.5以后才引入的新的内容.java语言规范中说道:在许多情况下包装与解包装是由编译器自行完成的(在这种情况下包装称为装箱,解包装称为 ...

  2. 深入浅出Java MVC(Model View Controller) ---- (JSP + servlet + javabean实例)

    在DRP中终于接触到了MVC,感触是确实这样的架构系统灵活性不少,现在感触最深的就是使用tomcat作为服务器发布比IIS好多了,起码发布很简单,使用起来方便. 首先来简单的学习一下MVC的基础知识, ...

  3. iOS中 GCD-Grand Central Dispath 多线程 UI_21

    GCD:Grand Central Dispath "牛逼的中枢调度器";是纯C语言编写的,提供了很多比较强大的函数 GCD:优势 1.目前是苹果主推的线程管理方式 2.它会自动的 ...

  4. Android原生嵌入React Native

    1.首先集成的项目目录 我使用的是直接按照react-native init Project 的格式来导入的,也就是说,我的Android项目目录是跟node_modules是在一个目录下的. 我们i ...

  5. Linux常用的网络命令

    这些命令都是我在浏览网页的时候偶然看到的,但是不太完整,所以我就整理了一下,详见如下. 1.查看网络接口状态 ifconfig(interface configuration,接口配置),通常会加上- ...

  6. Libgdx 1.6.0发布,跨平台游戏开发框架

    [1.6.0] -英文原文:http://www.badlogicgames.com/wordpress/?p=3682 -API更改:GlyphLayout xAdvances现在有了额外的开始入口 ...

  7. Socket层实现系列 — I/O事件及其处理函数

    主要内容:Socket I/O事件的定义.I/O处理函数的实现. 内核版本:3.15.2 我的博客:http://blog.csdn.net/zhangskd I/O事件定义 sock中定义了几个I/ ...

  8. 从Linux启动过程到android启动过程

    Linux启动过程: 1.首先开机给系统供电,此时硬件电路会产生一个确定的复位时序,保证cpu是最后一个被复位的器件.为什么cpu要最后被复位呢?因为 如果cpu第一个被复位,则当cpu复位后开始运行 ...

  9. android:layout_alignleft layout_toleftof区别,详解RelativeLayout布局属性

    转载请注明博客地址. 最近看博客看到有关于RelativeLayout布局的解释,有的解释很多是错误的.因此有必要对每一个常见的布局属性进行描述.以下解释全部都是逐行进行测试的. 首先把常用的布局分组 ...

  10. 异常驱动的开发(Exception-Driven Development)

    你的网站或应用程序存在哪些问题?如果你在等着用户来告诉你,那么你只能看到所有的问题中已经暴露的那极小的一部分.要知道,那只是"冰山一角"! 而且,如果你真的是在守株待兔,我不得不很 ...