我的doxygen配置文件指定:
WARN_NO_PARAMDOC = YES
WARN_IF_UNDOCUMENTED = YES
这意味着我想在没有记录或部分记录功能时收到警告。因为我要求完整记录代码。
当我在这段代码上运行doxygen时:
/** Description */
class A
{
public:
void func1();
int func2( int param1, int param2 );
/** Partial description (missing a parameter)
* \param param1 description
* \return description
*/
int func3( int param1, int param2 );
/** Partial description (missing return value)
* \param param1 description
*/
int func4( int param1 );
};
我得到4个警告:
warning : Member func1() (function) of class A is not documented.
warning : Member func2(int param1, int param2) (function) of class A is not documented.
warning : The following parameters of A::func3(int param1, int param2) are not documented.
warning : return type of member A::func4 is not documented
精细。
现在,如果有人在某些函数声明之前添加/** \name */
,如下所示:
/** Description */
class A
{
public:
/** \name first functions: */
void func1();
int func2( int param1, int param2 );
/** \name second functions: */
/** Partial description (missing a parameter)
* \param param1 description
* \return description
*/
int func3( int param1, int param2 );
/** Partial description (missing return value)
* \param param1 description
*/
int func4( int param1 );
};
然后我们只得到两个警告:
warning : The following parameters of A::func3(int param1, int param2) are not documented:
warning : return type of member A::func4 is not documented
func1
没有文档的事实不再报告。有人可能会说它有一个继承自\name
旗帜的文件,但它绝对没有记录!
不再报告func2
缺少参数和返回值的事实。在这里,人们无法诚实地争辩;-),这里肯定有未记载的参数,他们必须生成警告。
有没有办法在\name
标记下保留功能分组并报告4个警告? (例如,通过自定义doxyfile内容?)。
可接受的答案:
\name
代码\name
标签对标题类似于&#34的函数进行分组;第一个函数:"和"第二功能:"以上将保留所有报告的警告。目前,我唯一的选择是暂时将所有\name
和@name
替换为name(not a doxygen flag)
,生成文档,修复警告,然后将name(not a doxygen flag)
替换为{ {1}}回来......真烦人。我正在寻找一种更好的方法来解决这个问题。
注意:报告了doxygen bug https://bugzilla.gnome.org/show_bug.cgi?id=780912