如何记录函数修改的全局变量?兼容Doxygen方案咨询
兼容Doxygen的全局变量修改记录方案
针对你需要用Doxygen规范记录函数修改全局变量的需求,这里提供几种清晰且兼容行业标准的方案,避免在描述里堆砌杂乱文字:
方案1:用\post标签(推荐)
\post是Doxygen标准标签,用于定义函数执行完成后的预期状态,适合明确说明全局变量的修改结果:
extern double FIRST_VALUE; extern double SECOND_VALUE; /** * Calculate the values. * \param input The parameter used to calculate the values * \post FIRST_VALUE 被设置为 do_magic(input) 的计算结果 * \post SECOND_VALUE 被设置为 do_more_magic(input) 的计算结果 */ void calculate_values(double input) { FIRST_VALUE = do_magic(input); SECOND_VALUE = do_more_magic(input); }
方案2:用\sideeffect标签
如果修改全局变量属于函数的附加副作用(而非核心功能输出),可以用\sideeffect标注:
extern double FIRST_VALUE; extern double SECOND_VALUE; /** * Calculate the values. * \param input The parameter used to calculate the values * \sideeffect 修改 FIRST_VALUE 为 do_magic(input) 的结果 * \sideeffect 修改 SECOND_VALUE 为 do_more_magic(input) 的结果 */ void calculate_values(double input) { FIRST_VALUE = do_magic(input); SECOND_VALUE = do_more_magic(input); }
进阶:分块详细说明
如果需要对每个全局变量的修改做更细致的解释,可用\par标签单独划分区块,结构更清晰:
extern double FIRST_VALUE; extern double SECOND_VALUE; /** * Calculate the values. * \param input The parameter used to calculate the values * \par 修改的全局变量: * - FIRST_VALUE: 更新为 do_magic(input) 的输出,代表[此处补充变量含义] * - SECOND_VALUE: 更新为 do_more_magic(input) 的输出,代表[此处补充变量含义] */ void calculate_values(double input) { FIRST_VALUE = do_magic(input); SECOND_VALUE = do_more_magic(input); }
以上方案都完全兼容Doxygen规范,主流IDE(如VS Code、CLion、Eclipse)都会识别这些标签,在代码提示时展示清晰的说明,解决了原有描述杂乱的问题。
内容的提问来源于stack exchange,提问作者IceGlasses
相关产品推荐
相关产品推荐

