9

我使用 Doxygen 为我的目标 c 代码生成文档。到目前为止,我还没有找到任何关于如何正确记录属性的指南。我看过的例子是尽一切可能做到的。有些人自己记录变量,有些人记录@property 声明。一些使用 //,而另一些使用完整的 /** */ 块。

谁能指出我的最佳实践参考?或者也许是一些关于未来与 Doxygen 兼容性的信息?我想坚持一个模式,至少,一旦他们开发出官方模式,就很容易适应 Doxygen。

4

3 回答 3

11

我只能说,Core Plot 框架使用如下格式注释实现中的属性声明

 /** @property myProperty
 *   @brief Property is very useful
 *   Useful and there is a lot more to tell about this property **/

它似乎使用 Doxygen 生成了干净的文档。从核心情节文档政策

@property 是必需的,否则 doxygen 无法找到属性名称。

像 readonly、copy/retain/assign 和 nonatomic 这样的访问器属性会自动添加,不应出现在文档的手动部分中。

于 2010-03-05T01:21:02.257 回答
4

在这里您可以找到有关 Objective-C 编码约定的一些信息:Google Objective-C 样式指南

但是,如果您愿意,还有一个名为 HeaderDoc 的好软件可以在 XCode 下生成文档。你可以在这里查看它的编码风格:HeaderDoc Tags

于 2010-03-04T21:54:56.263 回答
1

我的经验是:

当我在评论中使用@property 标记时,属性的 doxygen 输出会损坏,例如:[ClassName]:[read, write, assign]。

如果我省略 @property标记,而是依靠 doxygen 在源代码中找到“@property”声明,就在注释块的正下方,一切正常。

相比之下,@interface 适用于接口,@protocol 适用于协议。

此外,在过去,我在某些协议声明中使用了 doxygen 'slip'。Obj-C 仍然是二等的 doxygen 公民吗?

注意:我在 Mac 上使用 GUI/Wizard,注释块使用 '/ * * !' 而不是'/ * *'。

于 2011-08-24T12:07:19.683 回答