将在一行中声明的成员记录在一起,而不创建组
Documenting together members declared on one line without creating a group
考虑:
struct S {
... // Some data members
double x, y; ///< Coordinates
... // More data members
}
doxygfen
将我为x
和y
准备的注释解释为仅指y
(或者,至少在最终文档中没有指示它指的是两者)。我可以用两种方法解决这个问题:
重复注释。然而,这将需要在单独的行上声明
x
和y
,这是不太可读的,因为这些成员在逻辑上是相关的。创建一个组。然而,在这种情况下,
x
和y
将出现在文档中的所有其他数据成员之后,如果数据成员出现的特定顺序存在逻辑,则这可能是不希望的。
有没有一种方法可以评论在一行中声明的成员不具备上述方法的弱点?
Imho通常每行声明一个变量是一种很好的做法。这避免了一些混淆,例如
int* x,y;
除其他外。我真的不理解你对"可读性较差,因为这些成员在逻辑上是相关的"的担忧。它们包含在同一个结构中,因为它们在逻辑上是相关的。如果你想更清楚,就做一个
struct XY {
double x;
double y;
}
我知道这并不能真正回答你的问题,但当我寻找它时,我没有找到一种使用doxygen为在一行中声明的2个(或更多)变量提供注释的方法。我看不出你提到的第一种方法的弱点,因为它无论如何都会使代码更可读。
问题的正确答案是:将坐标封装为一种类型,如:
struct Point
{
double x;
double y;
};
然后问题消失:
struct S {
... // Some data members
Point coordinates; ///< Coordinates
... // More data members
};
也许在那次改变之后,评论就不再那么必要了。。。
我看不出有什么问题;
struct Point
{
double x; ///< x & y are coordinates. (more detailed description)
double y; ///< See "x".
};
在doxygen中,有一些复制项目copy...
的文档的可能性,链接到其他文档也是可能的ref
link ... endlink
。
有了copydoc
,我们可以到达这里:
struct Point
{
double x; ///< x & y are coordinates. (more detailed description)
double y; ///< copydoc Point::x
};
相关文章:
- 如何将两个不同矢量的同一位置的两个元素组合在一起
- 将图形属性与 std::unique_ptr 捆绑在一起
- 你能在 c++ 中将不同的数字类型加在一起吗?
- 如何将两个字符串加在一起,就好像它们是变量一样?
- Qt 错误:QSqlQuery::value:尝试从表中检索统计信息时未定位在有效记录上 (QComboBox)
- 当返回语句时,逗号运算符、大括号初始化列表和 std::unique_ptr 组合在一起
- 为什么push_back和emplace_back结合在一起时,会有不同的行为
- 在浮点精度成为一个问题之前,可以将多少个浮点值加在一起
- 为什么在template函数广播中把两个extensor表达式加在一起不正确
- 实现具有浮点键的类似哈希表的数据结构,其中公差内的值被合并在一起
- 如何在Qt TableView中将列的宽度调整为数据并将最后一部分拉伸在一起
- 编译器如何将链表中的地址字符串在一起?
- 在 c++ 中,两个日志行与 log4Cxx 混合在一起
- 如何将两个 jlong 数据类型转换为 jstring,然后将两个字符串连接在一起以便从 JNI 将字符串返回给 jav
- 将许多向量排序在一起
- C++ std:: 并包括它们如何组合在一起?
- 通过字符串迭代并将每个循环中的先前字符组合在一起
- CMake 项目结构:如何正确地将库合并在一起并将它们包含在多个可执行文件中
- C 操作员超载将3个向量加在一起
- 将在一行中声明的成员记录在一起,而不创建组