在我的 C++ 应用程序中,我有大约 10 个不同的类来定义某些“行为”(我们称它们为 A、B、C、...)。代码中的其他地方(方法)可能会以任意组合使用这些行为。例如,方法 M1 使用行为 A 和 B,方法 M2 使用行为 A、C 和 D,...
在实践中,代码类似于这样:
BehaviorCollection coll;
BehaviorA ba;
coll.push_back(&ba);
BehaviorB bb;
coll.push_back(&bb);
someComplexFunctionality (coll);
我想清楚地概述哪种方法使用了一种行为,最好是在特定行为的文档中,以便每个行为的类文档都包含如下列表:
BehaviorA is used by the following methods:
- method1
- method3
- method7
我可以对这个列表进行硬编码,但一段时间后它会变得过时,因为添加了新方法,方法开始使用额外的行为,或者方法停止使用行为。因此,为了使其可维护,我更喜欢在使用行为的方法中添加一些内容,告诉 Doxygen“这段代码正在使用这些行为,所以在该行为的文档中添加一些内容”。
“Visual AssistX”或“了解 C/C++”之类的工具允许我执行查找,但每次您想要执行查找时它们仍然需要一些手动操作。因此,我想在我的文档生成系统中自动执行此操作。
我正在考虑使用 defgroup 和 ingroup,但我不确定这是否适用于代码片段。最好的使用方法是什么?