大多数Delphi应用程序都是VCL应用程序。它们不需要检查异常,因为主消息循环有一个捕获所有内容的try/Except块。 不过,最好记录哪些异常可以由您的代码显式引发。 为此,我会使用XMLDoc(XMLDoc上有variousquestions,so上有here is some documentation from Embarcadero)。 但是,请注意,基础代码也可能引发异常。根据您对图书馆的影响,您可以或不能保证它们总是相同的。不同的是操作系统:根据运行位置的不同,您可能会得到不同的异常。 --耶伦
type
{$REGION 'TMyClass description'}
/// <summary>TMyClass is a descendent of TComponent
/// which performs some function.</summary>
{$ENDREGION}
TMyClass=class(TComponent)
private
// your private stuff
FSomeProp: Boolean;
procedure SetSomeProp(Value: Boolean);
protected
// your protected stuff
public
{$REGION 'TMyClass constructor'}
/// <summary> TMyClass constructor.</summary>
/// <remarks>Creates an instance of TMyClass.</remarks>
/// <param>Owner: TObject. The owner of the instance of TMyClass</param>
/// <exception>Raises EMyObjectFailedAlloc if the constructor dies
/// </exception>
{$ENDREGION}
constructor Create(Owner: TObject); override;
published
{$REGION 'TMyClass.Someprop'}
/// <summary>Someprop property</summary>
/// <remarks>Someprop is a Boolean property. When True, the
/// thingamajig automatically frobs the widget. Changing this
/// property also affects the behavior of SomeOtherProp.</remarks>
{$ENDREGION}
property Someprop: Boolean read FSomeProp write SetSomeProp;
end;
6条答案
按热度按时间js5cn81o1#
我认为这涵盖了你所意识到的问题的一部分
Cleaner, more elegant and wrong
Cleaner, more elegant and harder to recognize
slsn1g292#
大多数Delphi应用程序都是VCL应用程序。它们不需要检查异常,因为主消息循环有一个捕获所有内容的try/Except块。
不过,最好记录哪些异常可以由您的代码显式引发。
为此,我会使用XMLDoc(XMLDoc上有variousquestions,so上有here is some documentation from Embarcadero)。
但是,请注意,基础代码也可能引发异常。根据您对图书馆的影响,您可以或不能保证它们总是相同的。不同的是操作系统:根据运行位置的不同,您可能会得到不同的异常。
--耶伦
9ceoxa923#
我们在文档中使用了Javadoc风格的注解。我们提取信息并使用一些简单的文本脚本生成输出。我们也使用了DelphiCodeToDoc。
为了记录异常,我们强制使用@throws标记。
bmp9r5qi4#
这对于从DevJet.net记录代码-Documentation Insight来说看起来很棒
f0brbegy5#
我使用XMLDoc注解。它基本上是在接口部分的代码中添加一种特殊类型的注解,就在属性或方法声明的上方。这里有一个荒谬的(当然)例子。如果您在代码中添加类似的样式注解,当您在编写代码时调用它时,它们将在Code Insight中弹出,就像VCL的文档所做的那样。
我更喜欢将这些XMLDoc注解放在区域中,这样除非我想编辑它们,否则它们可以折叠起来。我在上面已经这样做了;如果您不喜欢它们,请删除带有{$REGION}和{$ENDREGION}的行
idv4meu86#
我使用PasDoc来记录我几乎所有的Delphi项目。它包括一个“加薪”标签,可以满足您的要求。
问候-都灵