我是一个中级程序员,对提升我的Delphi编程水平很感兴趣。我需要听取外面专家的意见。
如果我要使用Delphi2010进行一个Win32应用程序项目,我需要精通哪些基本技能(我希望列出的主题既不太简短,也不像书中的目录那样详尽)?您可以假设将会对单独的数据库进行读写,可能还会使用web服务与其他系统组件进行通信。请忽略Unicode遵从性,因为我知道这一点。另外,在互联网上有没有一个很好的资源来使用Delphi进行“最佳实践”编程,或者它总是“这取决于你想要做什么”(即。在SO上问个人问题)?谢谢。
发布于 2012-03-23 17:26:56
第一个建议是阅读RTL/VCL代码的某些部分。比如Classes.pas SysUtils.pas Graphics.pas Controls.pas
..。这是在Delphi中编码时的参考。代码的其他部分(如SOAP或FireMonkey)可能不是一个值得学习的好参考……使用源码,卢克!
一些主题,可能不是特定于Delphi编程的,但我在团队实验和项目代码维护中遇到了这些主题:
TComponent
子类);try .. finally
和try .. except
块保护您的代码(以释放资源/内存+处理错误);发布于 2012-03-23 14:33:09
这不是“你想做什么”的问题。;)
我不认为高级编程与特定的知识有关,而是需要正确的心态来抓住问题并提出一个可靠的、可伸缩的创造性解决方案。当然,你需要知识来构建它,或者至少在必要的时候能够自己获得这些知识,但是作为一个(高级)程序员,我认为更多的是着眼于全局,而不是拥有特定的编程技能。
发布于 2012-03-23 18:20:11
使用接口!
它们比简单的对象更安全,因为你不需要释放它们,编译器通过引用计数来安排它们。
它们的缺点是将相同的方法键入两次(在接口和类部分),但这也允许您在实现部分中隐藏类定义:
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‘,但它是完全有效的。
https://stackoverflow.com/questions/9833471
复制相似问题