硬汉嵌入式论坛

 找回密码
 立即注册
查看: 1683|回复: 6
收起左侧

函数注释应该放到头文件还是C文件?大家可以来讨论下

[复制链接]

4

主题

22

回帖

34

积分

新手上路

大帅哥

积分
34
发表于 2021-10-8 11:11:00 | 显示全部楼层 |阅读模式
我个人比较喜欢 Doxygen 的代码注释风格,我在Github上浏览一些C项目时发现很多项目都用 Doxygen 注释格式,目前许多代码编辑器或者IDE都支持 Doxygen 的代码注释识别,例如VSCode, CLion...

在注释的规范上我也思考了许多,最让我纠结的就是"函数注释应该放在头文件里还是C文件里"这个问题,我做了如下思考:
        - 如果放在C文件,好处是头文件就比较精简,在函数声明前加一行简单的函数说明,也未尝不可。
        - 如果放在头文件,好处是可以专注写函数的实现,而头文件就可以更加丰富,毕竟头文件是查看功能模块的第一入口。
        - 两者兼得,也可以,在C文件先写下注释,之后再同步一份到头文件,就是比较麻烦,增加一些维护成本

网上有相关的讨论,我觉得比较好的有这种:
        - 头文件写函数的相关信息,例如简介,参数说明,用法等,在函数体(C文件中)写该函数的实现原理,过程,维护信息等

这就又引出来几个问题:
        - 是否每个的函数都需要有注释?
        - 函数注释应该是”先写“还是”之后再写“?
        - 除了 Doxygen 还有没有别的好的代码注释风格?
        - 函数注释有必要吗?
        - 注释的简洁应该如何定义?

你有没有更好的Idea? 欢迎来这里讨论。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106771
QQ
发表于 2021-10-8 12:07:54 | 显示全部楼层
我觉得写到C文件方便,大部分人都是go to查看原始函数说明和函数源码。

能注释的最好注释,省的以后自己看代码都忘了。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106771
QQ
发表于 2021-10-8 12:08:03 | 显示全部楼层
我觉得写到C文件方便,大部分人都是go to查看原始函数说明和函数源码。

能注释的最好注释,省的以后自己看代码都忘了。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106771
QQ
发表于 2021-10-8 12:09:24 | 显示全部楼层
代码注释这块,以各种RTOS为例,我觉得做的最好的还是uCOS-III,注释做的真心好。
回复

使用道具 举报

1

主题

369

回帖

372

积分

高级会员

积分
372
发表于 2021-10-8 18:03:16 | 显示全部楼层
接触不同的SDK,个人比较喜欢注释放在.h里,这样搜索代码比较方便,不会在.c里重复出现一个或多个同一个函数或者函数参数,且函数和函数之间不会被注释掉间隔开,从而影响代码阅读
回复

使用道具 举报

75

主题

685

回帖

910

积分

金牌会员

积分
910
发表于 2021-10-8 20:27:15 | 显示全部楼层
代码需要保密就写在头文件,不需要最好写在C文件。注释风格Doxygen比较推荐,后期生成文件方便。
回复

使用道具 举报

0

主题

29

回帖

29

积分

新手上路

积分
29
发表于 2021-10-25 11:02:22 | 显示全部楼层
我正在用 Nordic SDK 。它有些示例程序,我当然是在示例上修修改改变成我自己的程序。
它的函数注释就是在 .h 文件里。而要看函数的作用和用法只能跳到 .c 文件。非常不方便。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-5 18:15 , Processed in 0.254262 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表