首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用Delphi2010进行高级编程的基本技能是什么?

使用Delphi2010进行高级编程的基本技能是什么?
EN

Stack Overflow用户
提问于 2012-03-23 10:43:21
回答 3查看 1.8K关注 0票数 2

我是一个中级程序员,对提升我的Delphi编程水平很感兴趣。我需要听取外面专家的意见。

如果我要使用Delphi2010进行一个Win32应用程序项目,我需要精通哪些基本技能(我希望列出的主题既不太简短,也不像书中的目录那样详尽)?您可以假设将会对单独的数据库进行读写,可能还会使用web服务与其他系统组件进行通信。请忽略Unicode遵从性,因为我知道这一点。另外,在互联网上有没有一个很好的资源来使用Delphi进行“最佳实践”编程,或者它总是“这取决于你想要做什么”(即。在SO上问个人问题)?谢谢。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-03-23 17:26:56

第一个建议是阅读RTL/VCL代码的某些部分。比如Classes.pas SysUtils.pas Graphics.pas Controls.pas..。这是在Delphi中编码时的参考。代码的其他部分(如SOAP或FireMonkey)可能不是一个值得学习的好参考……使用源码,卢克!

一些主题,可能不是特定于Delphi编程的,但我在团队实验和项目代码维护中遇到了这些主题:

  • 如何处理内存:没有垃圾收集器,但每个类实例都应该被释放,或者有一个所有者(TComponent子类);
  • 不要忘记处理异常:考虑可能发生的事情(可能会更糟),然后使用try .. finallytry .. except块保护您的代码(以释放资源/内存+处理错误);
  • 如果您有一些Delphi2009之前的代码,请注意字符串类型从Ansi更改为Unicode:互联网上的一些代码尚未准备好Delphi2010;<代码>H210<代码>H111了解单元测试-并使用它;
  • 学习n层架构,不要滥用Delphi RAD方法(很容易点击和编码,但如果图形用户界面、数据库和逻辑混合在一起,维护起来就像噩梦一样)-真正的OOP编码对于任何严肃的项目都是强制性的。
票数 6
EN

Stack Overflow用户

发布于 2012-03-23 14:33:09

这不是“你想做什么”的问题。;)

我不认为高级编程与特定的知识有关,而是需要正确的心态来抓住问题并提出一个可靠的、可伸缩的创造性解决方案。当然,你需要知识来构建它,或者至少在必要的时候能够自己获得这些知识,但是作为一个(高级)程序员,我认为更多的是着眼于全局,而不是拥有特定的编程技能。

票数 4
EN

Stack Overflow用户

发布于 2012-03-23 18:20:11

使用接口!

它们比简单的对象更安全,因为你不需要释放它们,编译器通过引用计数来安排它们。

它们的缺点是将相同的方法键入两次(在接口和类部分),但这也允许您在实现部分中隐藏类定义:

代码语言:javascript
运行
复制
interface

type
  IJob = interface(IInterface)
  ['{A925F829-60D6-4418-B03A-1655B311D8D9}']
    procedure DoSomething;
  end;

function CreateJob: IJob;

implementation

type
  TJob = class(TInterfacedObject, IJob)
  public
    procedure DoSomething;
  end;

function CreateJob: IJob;
begin
  Result := TJob.Create;
end;

{ TJob }

procedure TJob.DoSomething;
begin
  // do something
end;

注意,这段代码中没有'Free‘,但它是完全有效的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9833471

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档