本帖最后由 OKAKAKO 于 2023-12-22 15:26 编辑
2、文件
◎ 所有.h头文件必须采取阻止内容被包含多于一次的机制。
- #ifndef __XXX__
- #define __XXX__
- #endif /*__XXX__*/
◎ 头文件对外接口,应放置对外部的声明,如对外提供的函数声明、宏定义、类型定义等。
◎ 内部使用的函数声明不应放在头文件中。
◎ 内部使用的宏、枚举、结构定义不应放入头文件中。
◎ 变量定义禁止在头文件中,应放在.c文件中。
◎ 模块内使用的全局变量,不应通过在头文件中声明的方式直接暴露给外部。
◎ 头文件中只包含接口的声明,不含实现。
◎ 头文件应当职责单一,头文件过于复杂,依赖过于复杂是导致编译时间过长的主要原因。
◎ 每一个.c文件应有一个同名.h文件,用于声明需要对外公开的接口。
◎ 禁止头文件循环依赖,禁止包含用不到的头文件。
◎ 每个.c源文件内容片段按如下顺序,文件注释-包含头文件-宏定义-数据结构定义-变量定义-引用外部变量-引用外部函数-本地函数-全局函数。
|