我们刚刚为我们的项目添加了精彩的Doxygen
,到目前为止,我们非常喜欢它,特别是Dot
视觉图表最多可以使用。
我们喜欢的一个特定领域是,您能够正确跟踪某些服务的创建位置,因此您可以最好地记录某些区域的流量,例如:
这是流入移动应用程序的初始输入区域,我们有一个中心位置,您可以通过该位置访问我们提供的所有其他服务。此中心位置已初始化,如SMAppServicesMonoBehaviour
中所示。
遗憾的是,未显示的是SMAppServicesMonoBehaviour
的“创造点”。这样做的原因是您在MonoBehaviour
中创建Unity3D
的方式。只需将脚本附加到GameObject
,您就可以在编辑器中创建一个脚本,或者在代码中类似地,您可以使用GameObject
将脚本附加到AddComponent
,
new GameObject("SMAppServices").AddComponent<SMAppServicesMonoBehaviour>();
这意味着不会跟踪实际创建/实例化SMAppServicesMonoBehaviour
之间的链接。
因此,问题是,是否有任何语法方法可以将Doxygen
的一些元信息附加到此代码块中,以表达上述内容,“我们正在接触/访问SMAppServicesMonoBehaviour.Start”?
答案 0 :(得分:0)
我在C中遇到了一个带有函数指针表的问题。 Doxygen无法看到访问该表的例程会调用这些函数。我发现如果我将表的声明作为本地静态函数移动到函数中,Doxygen会看到函数调用(或更好地说:会知道可以调用函数)。
void func() {
funcptr calltable[] = { foo, bar, foobar };
...
}
你的场景可能过于抽象了。您可能会在代码中尝试其他技巧,但我不建议做任何复杂的事情;它违背了具有可读代码的目的。
可能会向Doxygen团队建议新命令\calls
和\calledby
明确建立连接。但我不认为Doxygen支持特定实例化的文档。
执行调用的代码非常通用,是泛型类的模板成员?如果它是在调用图中连接的,那么你可能会对所有可能的引用感到困惑,当你真的只想表明SMAppServices
已连接时,理想情况下只有基于{{1的特定实例化}}